我有一个UITextField
子类,它有一个自定义删除按钮作为rightView属性。
这工作正常,直到我旋转设备,然后按钮不再响应。
我改变了方法并且“欺骗”了一下。现在我在代码中的UIButton
之上添加UITextField
。在旋转设备之前,这也可以正常工作。如果按钮顶部没有其他元素,我检查了backgroundColors。
我还尝试移除按钮并在设备旋转时再次添加。它是可见的,但动作不会触发。如果我在纵向或横向中启动我的应用程序,它将一直运行直到我旋转设备。
我如何添加按钮:
if (!btn_delete)
{
btn_delete = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width - 70, (tf_search.frame.size.height / 2) - 8, 17, 16)];
[btn_delete setImage:[UIImage imageNamed:@"icon_cross_textfield"] forState:UIControlStateNormal];
[btn_delete addTarget:self action:@selector(clearTextField:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn_delete];
[self.view bringSubviewToFront:btn_delete];
}
else
{
[btn_delete removeFromSuperview];
btn_delete = nil;
}
旋转后不会调用方法-(void)clearTextField:(UIButton*)sender
。
感谢任何建议。
答案 0 :(得分:1)
UIButton被添加到UIViewController的UIView中,它是另一个UIViewController的UIView的一部分。他们都将clearColour作为backgroundColor,因此UIButton仍然可见但不在superView的范围内。