我在我的iPhone應用程序中有一個非常具體的「錯誤」。我爲按鈕的突出顯示和正常狀態設置了兩個圖像。它按預期的方式工作,當你「按下」,然後以緩慢的速度「接近」時,但如果你點擊/快速點擊它,狀態之間會有明顯的閃爍。這是一個已知的錯誤還是我錯誤地設置狀態?UIButton和UIControlEventState問題
下面是一個創建按鈕的代碼:
UIImage *normalImage = [[UIImage imageNamed:@"btn-small.png"] stretchableImageWithLeftCapWidth:10.0f topCapHeight:0.0f];
UIImage *highlightedImage = [[UIImage imageNamed:@"btn-small-down.png"] stretchableImageWithLeftCapWidth:10.0f topCapHeight:0.0f];
[self setBackgroundColor:[UIColor clearColor]];
[self setBackgroundImage:normalImage forState:UIControlStateNormal];
[self setBackgroundImage:highlightedImage forState:UIControlStateDisabled];
[self setBackgroundImage:highlightedImage forState:UIControlStateHighlighted];
[self setAdjustsImageWhenDisabled:FALSE];
[self setAdjustsImageWhenHighlighted:FALSE];
當按鈕被簡單地拍了拍它禁用本身並啓用另一個按鈕:在這個快速點擊閃爍
- (IBAction)aboutButtonTouched:(id)sender
{
aboutButton.enabled = FALSE;
rulesButton.enabled = TRUE;
}
- (IBAction)rulesButtonTouched:(id)sender
{
rulesButton.enabled = FALSE;
aboutButton.enabled = TRUE;
}
有什麼想法?
我不知道爲什麼;但在iOS5測試中,它不是「3」而是「5」。哪個是「UIControlStateSelected | UIControlStateHighlighted」 – HansPinckaers 2011-11-17 17:02:31
@HansPinckaers如果他們向位掩碼添加了新項目,則值可能已更改。 – typeoneerror 2011-11-17 17:21:02
嗯,我只是子類UIButton並添加了一個方法來設置狀態1到5.沒有更多的閃爍:) – HansPinckaers 2011-11-19 13:50:02