如何阻止用户更改文本字段

Posted

技术标签:

【中文标题】如何阻止用户更改文本字段【英文标题】:how to block user from changing text field 【发布时间】:2015-07-03 20:53:46 【问题描述】:

我有两个不希望用户更改的文本字段。有没有办法在 Xcode 6 中做到这一点?我已经在文本字段中输入了文本,但是当我模拟应用程序时,用户仍然可以修改它。

【问题讨论】:

Easy way to disable a UITextField?的可能重复 【参考方案1】:

为委托方法返回“NO”:

`- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField`.

或禁用 textField,这可能会改变外观。

textField.enabled = NO

或使用UILabel

【讨论】:

【参考方案2】:

在 UIView 上创建类别。

在该类别中添加以下方法。

-(void)disable 
    self.alpha = 0.5;
    self.userInteractionEnabled = FALSE;


-(void)enable 
    self.alpha = 1.0;
    self.userInteractionEnabled = TRUE;

然后打电话

yourTextField.disable();

实际上,您可以在任何您想要的视图上使用它。

【讨论】:

【参考方案3】:

上述方法返回 NO

   optional func textField(_ textField: UITextField,
    shouldChangeCharactersInRange range: NSRange,
                replacementString string: String) -> Bool

或者设置 textfield disable 和 userInteractionDisable

textfield.userInteractionEnabled = false
textfield.enabled = false

【讨论】:

以上是关于如何阻止用户更改文本字段的主要内容,如果未能解决你的问题,请参考以下文章

Microsoft Access 如何在失去焦点时阻止滚动的文本字段返回顶部(如滚动到顶部)

如何阻止 wordpress 剥离或更改我的 html 代码,以便我可以在文本块中添加嵌入式 iframe?

TextField 正在阻止 TableView 滚动

如何阻止某人更改 gcloud 配置文件?

如何阻止占位符转换回来? (CSS)

保存到 mySQL 数据库时如何阻止 LocalDate 更改