Mat*_*oon 46 editing uitextfield ios swift
我知道,这是一个非常微不足道的问题.但我在网上找不到任何东西.
我需要禁止用户编辑文本字段内的文本.这样当单击文本时,键盘就不会显示出来.
有任何想法吗?
一个程序化的解决方案,或者如果可以通过故事板,那将是很棒的.
Vla*_*lad 96
试试这个:
Swift 2.0:
textField.userInteractionEnabled = false
Run Code Online (Sandbox Code Playgroud)
Swift 3.0:
textField.isUserInteractionEnabled = false
Run Code Online (Sandbox Code Playgroud)
或者在故事板中取消选中"启用用户交互"

Duy*_*Hoa 40
另一个解决方案,将您的控制器声明为UITextFieldDelegate,实现此回调:
@IBOutlet weak var myTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
myTextField.delegate = self
}
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
if textField == myTextField {
return false; //do not show keyboard nor cursor
}
return true
}
Run Code Online (Sandbox Code Playgroud)
dus*_*sty 22
在故事板中你有两个选择:


这些选择之间的差异是:
UITextfild的外观显示在屏幕上.

在代码中:
textfield.enable = falsetextfield.userInteractionEnabled = NO
针对Swift 3进行了更新
textField.isEnabled = falsetextfield.isUserInteractionEnabled = false如果您想在保持用户交互的同时执行此操作。就我而言,我正在使用(或者更确切地说是滥用)isFocused
self.myField.inputView = UIView()
Run Code Online (Sandbox Code Playgroud)
这样它会聚焦但键盘不会出现。
| 归档时间: |
|
| 查看次数: |
86162 次 |
| 最近记录: |