Ios 如何在UITextField返回键上添加操作?

Ios 如何在UITextField返回键上添加操作?,ios,objective-c,iphone,swift,uitextfield,Ios,Objective C,Iphone,Swift,Uitextfield,我的视图中有一个按钮和文本字段。当我点击文本字段时,会出现一个键盘,我可以在文本字段上写字,也可以通过点击按钮添加以下内容来关闭键盘: [self.inputText resignFirstResponder]; 现在我想启用键盘的返回键。当我按下键盘时,键盘就会消失,并且会发生一些事情。如何执行此操作?确保“自我”订阅UITextFieldDelegate并使用以下命令初始化inputText: self.inputText.delegate = self; 将以下方法添加到“self”:

我的视图中有一个按钮和文本字段。当我点击文本字段时,会出现一个键盘,我可以在文本字段上写字,也可以通过点击按钮添加以下内容来关闭键盘:

[self.inputText resignFirstResponder];
现在我想启用键盘的返回键。当我按下键盘时,键盘就会消失,并且会发生一些事情。如何执行此操作?

确保“自我”订阅
UITextFieldDelegate
并使用以下命令初始化inputText:

self.inputText.delegate = self;
将以下方法添加到“self”:

或使用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

extension YourViewController: UITextFieldDelegate {
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        if textField == inputText {
            textField.resignFirstResponder()
            return false
        }
        return true
    }
}

虽然其他答案正确,但我更喜欢做以下工作:

在viewDidLoad()中,添加

self.textField.addTarget(self,action:#选择器(onReturn),用于:UIControl.Event.editingdidenonexit)

并定义函数

@IBAction func onReturn() {
    self.textField.resignFirstResponder()
    // do whatever you want...
}

点击键盘完成按钮时,使用目标操作UIKit机制处理从UITextField发送的“primaryActionTriggered”UIEvent

textField.addTarget(self, action: Selector("actionMethodName"), for: .primaryActionTriggered)
可能重复:
textField.addTarget(self, action: Selector("actionMethodName"), for: .primaryActionTriggered)