旋转后UIButton失去目标

时间:2014-02-11 10:35:13

标签: ios objective-c rotation uibutton target

我有一个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

感谢任何建议。

1 个答案:

答案 0 :(得分:1)

UIButton被添加到UIViewController的UIView中,它是另一个UIViewController的UIView的一部分。他们都将clearColour作为backgroundColor,因此UIButton仍然可见但不在superView的范围内。