iOS中默认所有的按钮都是可以同时点击的,这样就有可能造成内存漏泄,小则界面元素混乱,重则程序crash。网上的那些繁琐的设置flag的方法看着就蛋疼,那有没有办法让程序一次只能按一个按钮呢?
解决方法
[code lang=”objc”]
// UIView.h
@property(nonatomic,getter=isExclusiveTouch) BOOL exclusiveTouch; // default is NO
[/code]
在UIView.h中,有这样一个方法
[code lang=”objc”][self.view setExclusiveTouch:YES];[/code]
通过观察我们可以知道这个方法的默认值为NO,也就是可以同时点击。在这里,我们需要对继承自UIView类的子类进行设置,将其值设置为YES。
示例代码
[code lang=”objc”]
// 防止多按钮同时点击
for (int i = TAG_HOTEL_INTRO; i < TAR_SWITCHLAN + 1; i++)
{
UIButton *button = (UIButton *)[self.view viewWithTag:i];
[button setExclusiveTouch:YES];
}
[/code]