完成编辑textField之后,我不会问如何隐藏键盘。我的问题是:有没有办法在每个视图上执行此操作? (就像一个设置)或者我是否需要编写以下两个函数并每次都正确设置委托?
func textFieldShouldReturn(textField: UITextField) -> Bool // called when 'return' key pressed. return NO to ignore.
{
textField.resignFirstResponder()
return true;
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
我正在开发一个包含大量文本字段(以及视图)的应用程序,所以我尽量避免使用冗余代码。避免这种重复的最佳解决方案是什么?
谢谢!
答案 0 :(得分:0)
最简单的方法是在文本字段下方放置一个巨大的隐形按钮,然后当点击非文本字段时,调用隐形按钮操作将其关闭。如果这不适用于您的方案,请告诉我。
答案 1 :(得分:0)
您可以创建自己的文本字段,它是UITextField的子类。请参阅下面的简单自定义UITextField:
import UIKit
class CustomTextField: UITextField, UITextFieldDelegate {
override func awakeFromNib() {
super.awakeFromNib()
self.delegate = self
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
self.resignFirstResponder()
return true
}
}
将自定义文本字段名称用于Storyboard中的Custom Class
。
请参阅Github
上的示例答案 2 :(得分:0)