【问题标题】:iOS 9 Swift 2.0 UITextFieldDidChangeiOS 9 斯威夫特 2.0 UITextFieldDidChange
【发布时间】:2015-10-13 07:16:51
【问题描述】:

UITextField 的子类中使用textFieldDidChangetextFieldDidEndEditing 方法时遇到问题。我在另一个源(对象)中更改了UITextFieldtext 属性。这个方法可以调用吗?

【问题讨论】:

    标签: ios swift swift2 uitextfield uitextfielddelegate


    【解决方案1】:

    你可以使用下面的编码,你可以按照吹的描述

    UITextField 并将“Editing Changed”发送事件拖到您的子类单元。

    或者你可以使用委托方法

    func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool
    

    或程序化

     yourtextField.addTarget(self, action: "textFieldDidChange:", forControlEvents: UIControlEvents.EditingChanged)
    
    func textFieldDidChange(textField: UITextField) 
    {
      //your code
    }
    

    或者通知在Swift 2.0中可用

      let notificationCenter = NSNotificationCenter.defaultCenter()
     notificationCenter.addObserver(
    self,
    selector: "textFieldTextChanged:",
    name:UITextFieldTextDidChangeNotification,
    object: nil
     )
    
     func textFieldTextChanged(sender : AnyObject) {
       // do your stuff here
     }
    

    通知类型为

    public 让 UITextFieldTextDidBeginEditingNotification: String 公开让 UITextFieldTextDidEndEditingNotification: String public let UITextFieldTextDidChangeNotification: String

    更多信息请使用link

    【讨论】:

    • 当我从另一个对象更改UITextField 的值时,我需要调用textFieldDidChangetextFieldDidEndEditing。能做到吗?
    • 在同一个类中你可以使用** textFieldDidEndEditing** ,如果你是另一个对象发送观察者你可以使用** UITextFieldTextDidChangeNotification** for
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2017-07-22
    • 2017-03-24
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    相关资源
    最近更新 更多