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

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

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

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

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

【问题讨论】:

  • 各种UITextFieldDelegate 方法怎么样?
  • @rmaddy 是的,我看错地方了

标签: ios swift uitextfield uikit uipickerview


【解决方案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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-15
      • 2011-01-01
      • 2017-11-23
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 2020-05-19
      • 1970-01-01
      相关资源
      最近更新 更多