我怎么知道编辑开始于以 UIPickerView 作为输入的 UITextField ?

Posted

技术标签:

【中文标题】我怎么知道编辑开始于以 UIPickerView 作为输入的 UITextField ?【英文标题】:How can I know that editing began on a UITextField that has a UIPickerView as input? 【发布时间】:2019-02-25 21:12:50 【问题描述】:

我将 UIPickerView 设置为 UITextField 的输入。如何知道用户何时按下 UITextField?

我已尝试使用 TouchDownEditingDidStart 事件,但它们不会触发。

我将事件链接到方法的代码如下

myTextField.addTarget(self, action: #selector(myMethod), for: .<Event>)

【问题讨论】:

各种UITextFieldDelegate 方法怎么样? @rmaddy 是的,我看错地方了 【参考方案1】:

使用委托的方法func textFieldDidBeginEditing(_ textField: UITextField) of UITextFieldDelegate

别忘了成为 yourTextField.delegate = self 这样的文本字段代表 https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619590-textfielddidbeginediting

【讨论】:

【参考方案2】:

您需要在项目中添加UITextFieldDelegate,然后将其委托给您的文本字段,例如:

class yourClassName: UIViewController , UITextFieldDelegate  

    @IBOutlet weak var yourTextField: UITextField!

override func viewDidLoad() 
    
    super.viewDidLoad()
    yourTextField.delegate = self
    
 

你需要实现

func textFieldDidBeginEditing(_ textField: UITextField) 
    //Code here

【讨论】:

以上是关于我怎么知道编辑开始于以 UIPickerView 作为输入的 UITextField ?的主要内容,如果未能解决你的问题,请参考以下文章

编辑 UIPickerView

删除 UIPickerView 边框

如何将新字体应用于以特定字体编写的字符?

使用 UIPickerView 编辑 UIButton 的文本

UIPickerView 行选择

在 UIPickerView 上设置日期时的本地通知?