解除定制UITextField上的键盘
我正在使用TextFieldEffects定制UITextFields。创建文本框是非常简单的..解除定制UITextField上的键盘
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let textField = HoshiTextField(frame: textFieldFrame)
textField.placeholderColor = .darkGrayColor()
textField.foregroundColor = .lightGrayColor()
view.addSubView(textField)
}
}
解雇的键盘,我试图做什么,我通常会做,但遗憾的是没有运气。
func textFieldShouldReturn(textField: HoshiTextField) -> Bool {
self.view.endEditing(true)
return false
}
func dismissKeyboard() {
view.endEditing(true)
}
您有什么建议吗?
确认的UITextFieldDelegate协议,您的ViewController并分配textField.delegate = self
,然后执行以下的委托方法:
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
self.view.endEditing(true)
}
为你的textField设置代理,也许它会工作!
我该怎么办呢?它嵌入在UIViewController中。我尝试使用textField.delegate = self,但它不让我这样做,因为self是UIViewController。做这件事的正确方法是什么?谢谢 – senty
设置类似于: 'class YourViewController:UIViewController,UITextFieldDelegate' refer:http://sourcefreeze.com/uitextfield-and-uitextfield-delegate-in-swift/ –
class ViewController: UIViewController, UITextFieldDelegate //add this protocol
{
...
func ... {
let textField = HoshiTextField(frame: textFieldFrame)
textField.placeholderColor = .darkGrayColor()
textField.foregroundColor = .lightGrayColor()
textField.delegate = self
}
}
通过添加委托=自我,'textFieldShouldReturn( )'开始工作。但是,'dismissKeyboard()'(单击外部)仍然不起作用。 – senty
实现触摸开始方法 覆盖FUNC的touchesBegan(触摸:设置,withEvent事件:的UIEvent?){ self.view.endEditing(真) } –
iMuzahid
能否请您包括在你的答案,所以我可以接受它作为正确答案? – senty