将UIButton隐藏为IBAction

时间:2012-07-30 18:57:02

标签: iphone xcode uibutton

通常隐藏UIButton并不困难,但我将其设置为IBAction而不是IBOutlet。这是必要的,因为当按下按钮时,文本会弹出,但我希望按钮消失。解决方案是什么?

1 个答案:

答案 0 :(得分:0)

您可能宣布您的IBAction如下:

- (IBAction)myButtonAction;

应该是:

- (IBAction)myButtonAction:(id)sender;

因为那时你可以用方法

- (IBAction)myButtonAction:(id)sender
{
    if([sender respondsToSelector:@selector(setHidden:)])
        [sender setHidden:YES];
}

所有IBAction都支持接收其发件人作为一项功能。但是,如果另一个UI元素调用该函数,它也将被隐藏。此外,使用上述方法,您将无法取消隐藏按钮,如果您需要这样做,您可能最好使用IBOutlet - 在5.0以上,您可以使用weak关键字如果对象被销毁,它不会保留引用并自动填充,而在4.x中,您只需要记住在viewDidUnload上将其设置为nil。