iOS中默認所有的按鈕都是可以同時點擊的,這樣就有可能造成內(nèi)存漏泄,小則界面元素混亂,重則程序crash。網(wǎng)上的那些繁瑣的設置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]