我寫了一個按鈕,下面的代碼爲iOS8上的應用:UIButton的圖像不是Hightlight更改或選擇狀態
UIButton *btnBack = [UIButton buttonWithType:UIButtonTypeCustom];
[btnBack setFrame:CGRectMake(40, 30, 30, 30)];
[btnBack setBackgroundImage:[UIImage imageNamed:@"btn_close.png"]forState:UIControlStateNormal];
[btnBack setBackgroundImage:[UIImage imageNamed:@"btn_close_on.png"] forState:UIControlStateHighlighted|UIControlStateSelected];
[btnBack addTarget:self action:@selector(btnBackClick:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btnBack];
而且方法時點擊:
-(void) btnBackClick:(id)sender{
[self.navigationController popToRootViewControllerAnimated:YES];
}
然而,背景當點擊按鈕時,圖像不會改變。唯一的影響是灰色。
如果我在xib文件上繪製該按鈕,圖像更改就像一個魅力。
有什麼問題嗎?請幫忙。
這神奇的作品就像一個魅力。非常感謝你。你能解釋一下爲什麼嗎? – 2014-12-02 11:44:06
其實它不是檢查枚舉值(UIControlState)的正確過程。所以,起初我已將按鈕設置爲選定狀態。請檢查我更新的答案。它比以前更有價值。 – Monikanta 2014-12-03 07:01:43
訣竅是:即使初始化按鈕和setSelected:YES,但按鈕在添加到視圖中時仍會返回到正常狀態。所以你原來的建議代碼有效。 – 2014-12-04 03:31:30