我有4个按钮。当它们被录音时,它们每个都会在它下方创建一个UIView,它们会在按钮下方展开。我希望视图在第二次按下按钮时回到原来的状态。这是怎么做到的?
答案 0 :(得分:1)
设置实例BOOL并相应地翻转它。在IBAction中,按钮被绑定以检查BOOL并调用适当的方法来调整视图。
答案 1 :(得分:1)
您可以使用按钮的selected
属性,例如:
-(void)yourButtonIsTapped:(UIButton*)button {
if(button.selected) { //first time
//expand the view
button.selected = NO;
}
else { // second time
//hide view
button.selected = YES;
}
}
您可以将此方法的IB按钮链接到touchUpInside
事件,但您必须将返回类型从void
更改为IBAction
。
我认为这个案例还有其他一些解决方案,但这是更快的解决方案。
答案 2 :(得分:0)
您只需拨打
即可删除视图[viewUnderButton removeFromSuperview];
答案 3 :(得分:0)
将每个标签按钮设置为0,按下按钮时将其更改为相反的值。这是你会得到的:
所以你不必为每个按钮创建一个bool,但你可以使用你的按钮的标签变量。 代码应该是这样的。
- (void)handleButton:(UIButton *)button{
if(button.tag == 0) { <expandButton> }
else { <collapseButton> }
button.tag = !button.tag;
}