2015-06-22 40 views
0

这是在iOs应用程序中隐藏键盘的真正常见问题。为了解决这个问题,我使用隐藏键盘TextField与编辑已更改

class myViewController: UIViewController, UITextFieldDelegate { 
@IBOutlet weak var myTextField: UITextField! 

,之后

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.myTextField.delegate = self; 
} 

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    self.view.endEditing(true) 
    return false 
} 

但是,因为我有一个链接到我的功能之一myTextField将编辑中Changed事件它不工作这一次。所以键盘不会隐藏。

在这种情况下如何解决?

+0

使用'textField.resignFirstReponder'。 –

回答

1

因为我有它不工作这一次编辑myTextField将的Changed事件链接到我的函数

通常你做了什么被点击返回的时候应该还是工作,我认为一个人。但也许还有一些我缺少的因素。也许与该功能所做的事有关。

这是一种解除键盘的另一种方法。创建与按住Ctrl键单击从文本字段的Did End On Exit

@IBAction func textFieldDoneEditing(sender: UITextField) { 
    sender.resignFirstResponder() 
} 
2

调用textFieldShouldReturn做什么特别的隐藏键盘阻力。你必须自己隐藏它。

func textFieldShouldReturn(textField: UITextField) -> Bool { self.view.endEditing(true) return textField.resignFirstResponder() }

0

希望这有助于你:

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    self.view.endEditing(true) 
    return false 
} 

//不要忘记调用文本字段代表在viewDidLoad中

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.myTextField.delegate = self; 
} 
0

谢谢你的答案 - 可惜的是他们没有解决我的问题。

我试过-resignFirstResponder没有成功,直到我将返回按钮添加到键盘。现在按下后,键盘隐藏。