通常隐藏 UIButton 并不难,但我将其设置为 IBAction 而不是 IBOutlet。这是必要的,因为当按下按钮时,会弹出文本,但我希望按钮消失。解决办法是什么?
问问题
395 次
1 回答
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。
于 2012-07-30T19:01:42.220 回答