UITextField 没有显示在视图中

Posted

技术标签:

【中文标题】UITextField 没有显示在视图中【英文标题】:UITextField not getting displayed in View 【发布时间】:2017-03-13 09:28:14 【问题描述】:

我正在以编程方式创建一个UITextField,在我的viewDidLoad 中称为nameTextField,如下所示:

var nameTextField = UITextField() 
nameTextField =  UITextField(frame: CGRect(x: 10, y: 20, width: 30, height: 20))
nameTextField.borderStyle = .roundedRect
nameTextField.autocorrectionType = UITextAutocorrectionType.no
nameTextField.returnKeyType = UIReturnKeyType.done
nameTextField.keyboardType = UIKeyboardType.default
nameTextField.backgroundColor = UIColor.white
nameTextField.placeholder = "Enter Your Full Name"
nameTextField.delegate = self
self.view.addSubview(nameTextField)

我没有看到我的观点,我犯了什么错误?提前致谢。

【问题讨论】:

你能显示一些视图的代码吗? 尝试打印文本框。 我运行了代码,我可以看到 UITextField 检查我的答案... 【参考方案1】:

可能您的视图背景颜色是white,因此它不会显示更改背景颜色

nameTextField.backgroundColor = UIColor.red

选择 2

如果您的 VC 嵌入了 导航控制器,请更改 Y frame 并检查

nameTextField =  UITextField(frame: CGRect(x: 10, y: 90, width: 30, height: 20))

以及改变背景颜色

nameTextField.backgroundColor = UIColor.red

【讨论】:

谢谢。忘了考虑导航控制器。【参考方案2】:

您需要指定文本字段相对于视图控制器主视图的显示位置。例如这会起作用:nameTextField.center = self.view.center

【讨论】:

以上是关于UITextField 没有显示在视图中的主要内容,如果未能解决你的问题,请参考以下文章

如何永久地显示从UITextField输入的数据到标签?

编辑开始时更改 UITextField 背景

键盘可见时,将输入附件视图添加到UITextField

放大 UITextField

如何通过在焦点集中时将其移动到键盘顶部/视图中心来突出显示滚动视图中的焦点 UITextField

在主视图控制器中单击后更新外部视图控制器中的 UITextField