如何获得UITextField点击事件?
我试图显示UIAlertView点击或点击UITextField iPad和IPhone。 我做了一个IBAction,并附上UITextField的Tap Down事件。
但它不能正常工作,意味着并不总是,在iPhone的情况下,不工作的iPad的情况下
- (IBAction) TopuchState { //function code }
请帮助我怎么能做到这一点。
尝试添加特定文本字段开始编辑时的目标( UIControlEventEditingDidBegin
):
[textField1 addTarget:delegate action:@selector(textField1Active:) forControlEvents:UIControlEventEditingDidBegin];
由于您已经订阅了UITextField委托,请实现此方法:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert" message:@"Alert Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil]; [alert show]; return YES; }
我认为如果你设置UITextField
的委托并实现这个方法会更简单:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
那么在这个方法里面你可以很容易地创build和显示你的UIAlertView
。
看看UITextFieldDelegate 。
祝你好运!
连接TextField与委托,现在调用这个function!
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { textView.text=@" "; return YES; }
在Swift 3
在viewDidLoad方法中添加事件.editingDidBegin的特定文本字段的目标
self.textField.addTarget(self, action: #selector(textFieldTouched(_:)), for: UIControlEvents.editingDidBegin) func textFieldTouched(textField: UITextField) { //Show AlertView }