ビューにボタンとテキストテキストフィールドがあります。テキストフィールドをクリックすると、キーボードが表示され、テキストフィールドに書き込むことができます。また、ボタンをクリックしてキーボードを閉じることもできます。
[self.inputText resignFirstResponder];
キーボードのリターンキーを有効にしたい。キーボードを押すと、キーボードが消えて何かが起こります。これどうやってするの?
回答:
「self」がUITextFieldDelegate
inputTextをサブスクライブして初期化することを確認します。
self.inputText.delegate = self;
次のメソッドを「self」に追加します。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
if (textField == self.inputText) {
[textField resignFirstResponder];
return NO;
}
return YES;
}
またはSwiftの場合:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField == inputText {
textField.resignFirstResponder()
return false
}
return true
}
Swift 3.0の拡張スタイル
まず、テキストフィールドのデリゲートを設定します。
override func viewDidLoad() {
super.viewDidLoad()
self.inputText.delegate = self
}
次にUITextFieldDelegate
、View Controllerの拡張機能に準拠します
extension YourViewController: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if textField == inputText {
textField.resignFirstResponder()
return false
}
return true
}
}