单击 UITextField,我想 运行 一些代码

On click of a UITextField, I want to run some code

我有一个带有名为 newscore 的出口的 UITextField。我正在尝试 运行 一段代码,当点击 UITextfield(特别是新闻得分)并调出键盘时,或者当用户开始编辑 UITextfield 时。

我似乎无法找出执行此操作的正确函数。它是否类似于下面的代码(代码不起作用)或者该函数是否调用了其他名称?

func textFieldShouldBeginEditing(textField: UITextField) -> Bool {

//Run block of code

}

那个函数是正确的。

如果没有被调用,只需检查文本字段委托是否正确

这是正确的功能。您需要像这样设置您的字段的代表:

yourTextfield.delegate = self

您还需要像这样在 class 中设置委托:

class YourClass : UIViewController, UITextFieldDelegate

函数

textFieldShouldBeginEditing:

其中 returns 一个布尔值,或者

textFieldDidBeginEditing:

正是您想要的。您需要做的就是使此 class 您的代码 运行 符合 UITextFieldDelegate 协议,这是通过编写

class TheClass: PossibleSuperclass, PossibleProtocol, UITextFieldDelegate {...

然后通过使用

正式将文本字段的委托设置为您的class
theTextfield.delegate = self

在一些 startup/initialisation 代码中,或者通过在 Interface Builder 中创建一个从文本字段到 class 对象的 "delegate" 出口。


class ViewController: UITextFieldDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        textField.delegate = self
    }
    
    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
        return true
    }
    
    func textFieldDidBeginEditing(_ textField: UITextField) {
        
    }
    
}