我希望禁用两个 uitextfield,因此无法对其进行编辑-SWIFT

Posted

技术标签:

【中文标题】我希望禁用两个 uitextfield,因此无法对其进行编辑-SWIFT【英文标题】:two uitextfield i want one to be disabled so it cannot be edited - SWIFT 【发布时间】:2016-02-02 01:34:09 【问题描述】:

我有两个 UITextField 一个是需要输入文本的普通文本字段。另一个连接到 UIPickerView。当我单击连接到 pickerView 的 UITextField 时,会出现光标,文本字段不可编辑,因为键盘是 pickerView,但可以将文本复制并粘贴到其中。有什么帮助吗??

我尝试通过 UITextFieldDelegate 方法修复它

       func textFieldShouldBeginEditing(textField: UITextField) -> Bool  

但它控制了我的两个文本字段,并不能解决我的问题。

先谢谢了!!!

【问题讨论】:

【参考方案1】:

两件事:

首先,当您实现这样的委托方法时,您必须根据传入的文本字段返回不同的值。一种相对简单的方法是在 Interface Builder 中为每个文本字段指定一个数字标签,然后在您的委托方法中,将传入字段的标记属性与预期值进行比较。

其次,您可能应该通过将文本字段上的 enabled 属性设置为 NO 来执行此操作,而不是实现委托方法并尝试阻止编辑。

【讨论】:

如果未启用文本字段,则单击它时不会显示选择器选项.. 我试图用标签将它们分开并给它们自己的方法,但该函数需要返回。并且在执行 return 之后任何代码都不会生效? 在带有选取器视图的字段的 textFieldShouldBeginEditing 委托方法中,您还需要显式显示选取器视图。有关示例,请参见 ***.com/questions/26819423/…。

以上是关于我希望禁用两个 uitextfield,因此无法对其进行编辑-SWIFT的主要内容,如果未能解决你的问题,请参考以下文章

在UITextField中禁用放大镜

有啥方法可以禁用 UITextField 的听写支持?

UITextField 禁用光标

在 UITextField 中禁用“定义”

使用 UITextField + UIPickerview 时禁用键盘输入

两个不同的按钮对同一个视图控制器执行 segue,但希望通过一个按钮禁用用户交互以进行 segue