如何阻止用户更改文本字段
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 如何在失去焦点时阻止滚动的文本字段返回顶部(如滚动到顶部)