我试图在Tap上显示UIAlertView,或者在UITextField上显示IPad和IPhone。我做了一个IBAction并用UITextField的Tap Down事件附上它。
但它不能正常工作,并不总是意味着,如果是iphone而不是在iPad的情况下工作
- (IBAction) TopuchState
{
//function code
}
请帮助我怎么能这样做。
答案 0 :(得分:28)
由于您已经订阅了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;
}
答案 1 :(得分:23)
尝试为特定文本字段开始编辑时添加目标(UIControlEventEditingDidBegin
):
[textField1 addTarget:delegate action:@selector(textField1Active:) forControlEvents:UIControlEventEditingDidBegin];
答案 2 :(得分:3)
在Swift 3中
为viewDidLoad方法中的事件.editingDidBegin添加特定文本字段的目标
self.textField.addTarget(self, action: #selector(textFieldTouched(_:)), for: UIControlEvents.editingDidBegin)
func textFieldTouched(textField: UITextField) {
//Show AlertView
}
答案 3 :(得分:2)
我认为如果您为UITextField
设置委托并实施该方法会更容易:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
然后在该方法中,您可以轻松创建并显示UIAlertView
。
答案 4 :(得分:1)
将TextField与委托连接,然后调用此函数!!
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
textView.text=@" ";
return YES;
}