触摸文本框时创建动作

时间:2018-09-13 10:05:05

标签: ios textfield material

我需要在触摸文本字段时采取行动。我已导入Material,以为UI设计动画赋予一些效果。我需要在触摸文本字段时显示视图。但是我收到错误消息::无法识别的选择器发送到实例0x7fed2b046800' ***首先抛出调用堆栈:

2 个答案:

答案 0 :(得分:0)

您不必添加目标(而且这不是添加选择器的正确方法)

 self.dobField.addTarget(self, action:Selector(("textFieldDidBeginEditing")), for: UIControlEvents.editingDidBegin)

您只需要

self.dobField.delegate = self

使用

func textFieldDidBeginEditing(_ textField: UITextField){}

//

正确的选择器将是

self.dobField.addTarget(self, action:#selector(someMethod), for: UIControlEvents.editingDidBegin)

使用

@objc func someMethod(_ textField: UITextField){}

顺便说一句,您已经符合UITextFieldDelegate

答案 1 :(得分:0)

您可以处理此购买设置,使您的视图控制器符合UITextFieldDelegate,并将文本字段的delegate设置为视图控制器

override func viewDidLoad() {
    super.viewDidLoad()

    dobField.delegate = self // or do this in your storyboard
}

然后使用以下两种方法之一来处理您的操作……

extension EditProfileViewController: UITextFieldDelegate {

    func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool 

        return true // or return false if you don't want to actually edit the field
    }

    func textFieldDidBeginEditing(_ textField: UITextField)

    }
}