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”按钮

键盘完成键动作swift iOS不起作用

SwiftUI捕获键盘提交动作在iOS15之前和之后的兼容实现

模拟 iOS 屏幕键盘上的“Go”、“Next”按钮按下以进行 xcode 测试

Obj C UIWebview 去按钮点击动作

突出显示 iOS 键盘上的“返回”按钮