当控制器加载时,我有一个UITextView
应该成为第一响应者(显示键盘)。唯一的事情是,我已经“膨胀”了两个UIView
,每个都包含一个UIButton
. 当UITextView
还不是第一响应者时,这些按钮上的触摸事件确实起作用,但是在UITextView
成为第一响应者之后,UIButtons
它们没有响应任何点击事件。
当 textview 成为第一响应者时,如何确保按钮仍然有效?
当控制器加载时,我有一个UITextView
应该成为第一响应者(显示键盘)。唯一的事情是,我已经“膨胀”了两个UIView
,每个都包含一个UIButton
. 当UITextView
还不是第一响应者时,这些按钮上的触摸事件确实起作用,但是在UITextView
成为第一响应者之后,UIButtons
它们没有响应任何点击事件。
当 textview 成为第一响应者时,如何确保按钮仍然有效?
希望这对你有用。它确实对我有用..
在UIButton
'sIBAction
方法中检查您的文本字段是否是第一响应者。如果是第一响应者,请辞职。这将关闭键盘并执行按钮操作。
-(IBAction)btn:(id)sender
{
if ([txt isFirstResponder])
{
[txt resignFirstResponder];
}
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"hi" message:@"Hello" delegate:self cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
[alert show];
}
Changing the button initialization to lazy might fix the problem, as was suggested in this answer.