iOSのキーボードの[移動]ボタンにアクションをバインドするにはどうすればよいですか?
19415 次
2 に答える
42
Objective-C
<UITextFieldDelegate>
UITextFieldを使用していると仮定すると、メソッドを使用できますtextFieldShouldReturn
。
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder]; // Dismiss the keyboard.
// Execute any additional code
return YES;
}
このコードを配置したクラスをテキストフィールドのデリゲートとして割り当てることを忘れないでください。
self.someTextField.delegate = self;
または、UIControlEventsを使用したい場合は、次のようにすることができます
[someTextField addTarget:self action:@selector(textFieldDidReturn:) forControlEvents:UIControlEventEditingDidEndOnExit];
- (void)textFieldDidReturn:(UITextField *)textField
{
// Execute additional code
}
Interface Builderでこれを行う方法については、@WojtekRutkowskiの回答を参照してください。
迅速
UITextFieldDelegate
class SomeViewController: UIViewController, UITextFieldDelegate {
let someTextField = UITextField()
override func viewDidLoad() {
super.viewDidLoad()
someTextField.delegate = self
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder() // Dismiss the keyboard
// Execute additional code
return true
}
}
UIControlEvents
class SomeViewController: UIViewController {
let someTextField = UITextField()
override func viewDidLoad() {
super.viewDidLoad()
// Action argument can be Selector("textFieldDidReturn:") or "textFieldDidReturn:"
someTextField.addTarget(self, action: "textFieldDidReturn:", forControlEvents: .EditingDidEndOnExit)
}
func textFieldDidReturn(textField: UITextField!) {
textField.resignFirstResponder()
// Execute additional code
}
}
于 2012-10-25T09:51:09.363 に答える
31
UITextFiled
でイベントDid End On Exit
を接続できますConnections Inspector
。Go
//をタップするとトリガーされReturn
ます。Return Key
Attributes Inspector
于 2012-10-25T10:36:46.443 に答える