键盘上按“Enter”键时如何触发功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了键盘上按“Enter”键时如何触发功能相关的知识,希望对你有一定的参考价值。

当用户按下手机键盘上的“Enter”时,如何触发测试功能的按键回调功能?

import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var label: UILabel!
    @IBOutlet weak var textfield: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()
        self.textfield.delegate = self 
    }

    @IBAction func btn(_ sender: Any) {
        //textfield.resignFirstResponder()
        label.text = textfield.text!
        print("
 func completed 
")
    }

    func test(textField: UITextField!) {
        textfield.resignFirstResponder()
        print("
 func completed 
")
    }
}
答案

你可以直接试试

func textFieldShouldReturn(_ textField: UITextField) -> Bool {    
   textField.resignFirstResponder() // options 1
   self.test(textField)  // option 2
   self.calledFromAnyWhere() // option 3  
   return true
}

编辑:如果要调用按钮的操作,则首选创建共享功能

 @IBAction func btn(_ sender: Any) {

   self.calledFromAnyWhere()
}

func calledFromAnyWhere()
{
    // any content
}
另一答案

您可以添加目标来处理特定事件,如下所示:

textField.addTarget(self, action: #selector(editingDidEnd), for: .editingDidEndOnExit)


@objc func editingDidEnd() {
    // Do whatever you would like here, in your case
    self.btnCallback()
}

以上是关于键盘上按“Enter”键时如何触发功能的主要内容,如果未能解决你的问题,请参考以下文章

html表单在特定输入上按Enter键时阻止提交[重复]

按“enter”键时停止 VSCode 触发建议

当根据文本框的焦点按下 Enter 键时,如何触发 Button Click 事件?

关于键盘事件

自动检测按键并触发Powershell脚本运行

WPF:一个文本框,它具有在按下 Enter 键时触发的事件