[英]UIButton highlight state images
我有一個UIButton
並設置為:
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeCustom];
UIImage *imageNormal = [UIImage imageNamed:@"normal.png"];
UIImage *imageNormalHover = [UIImage imageNamed:@"normalHover.png"];
UIImage *imageSelected = [UIImage imageNamed:@"selected.png"];
UIImage *imageSelectedHover = [UIImage imageNamed:@"selectedHover.png"];
[myButton setImage:imageNormal forState:UIControlStateNormal];
[myButton setImage:imageSelected forState:UIControlStateSelected];
if (boolVar) {
[myButton setSelected:YES];
[myButton setImage:imageSelectedHover forState:UIControlStateHighlighted];
} else {
[myButton setImage:imageNormalHover forState:UIControlStateHighlighted];
}
問題是當狀態為正常並且我嘗試按按鈕時,我可以正確看到圖像normalHover.png
但是當選擇狀態並且嘗試按按鈕時,我仍然看到normalHover.png
而不是selectedHover.png
。 似乎使用UIButton
我無法更改突出顯示的圖像。 你如何解決?
您需要為UIControlStateSelected | UIControlStateHighlighted
設置圖像。 UIControlStateSelected | UIControlStateHighlighted
組合狀態:
[myButton setImage:imageSelectedHover forState:(UIControlStateSelected | UIControlStateHighlighted)];
因為在選擇該按鈕時兩種狀態都處於打開狀態,所以您可以通過輕按它來對其進行提示。
很快,這是通過union
完成的:
myButton.setImage(imageSelectedHover, forState: UIControlState.Selected.union(UIControlState.Highlighted))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.