ios键盘“Go”按钮的动作
Posted
技术标签:
【中文标题】ios键盘“Go”按钮的动作【英文标题】:Action of the "Go" button of the ios keyboard 【发布时间】:2012-10-25 09:45:45 【问题描述】:如何将动作绑定到 ios 中键盘的 Go 按钮?
【问题讨论】:
【参考方案1】:目标-C
假设您使用的是 UITextField,您可以使用 <UITextFieldDelegate>
方法 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
请参阅@Wojtek Rutkowski's answer,了解如何在 Interface Builder 中执行此操作。
斯威夫特
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
【讨论】:
【参考方案2】:您可以在Connections Inspector
中连接UITextFiled
事件Did End On Exit
。在点击Go
/ Return
/ 在Attributes Inspector
中选择Return Key
后触发。
【讨论】:
@0x7fffffff 的答案是正确的,通常您还必须包括一些代表,这样UITextField
才能正常工作。所以最好继续使用代码中包含的代表,而不是使用 UIInterfaceBuilder
来完成这个小功能!以上是关于ios键盘“Go”按钮的动作的主要内容,如果未能解决你的问题,请参考以下文章
处理 iOS 虚拟键盘“上一个”、“下一个”、“Go/Enter”按钮
SwiftUI捕获键盘提交动作在iOS15之前和之后的兼容实现