2015-06-22 42 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沒有成功,直到我將返回按鈕添加到鍵盤。現在按下後,鍵盤隱藏。