我需要不同爲突出狀態圖像用於UIButton
。不同的圖像高亮顯示的UIButton狀態
我有幾行代碼:
- (IBAction)buttonPressed:(id)sender
{
UIImage *followImageHighlighted = [UIImage imageNamed:@"follow-hilite.png"];
UIImage *unfollowImageHighlighted = [UIImage imageNamed:@"unfollow-hilite.png"];
if ([sender isSelected]) {
// set this image for the next time the button will pressed
[sender setImage:unfollowImageHighlighted forState:UIControlStateHighlighted];
} else {
// set this image for the next time the button will pressed
[sender setImage:followImageHighlighted forState:UIControlStateHighlighted];
}
}
- (void)viewDidLoad
{
// ...
UIImage *followImage = [UIImage imageNamed:@"follow.png"];
UIImage *unfollowImage = [UIImage imageNamed:@"unfollow.png"];
[self.followButton setImage:followImage forState:UIControlStateNormal];
[self.followButton setImage:unfollowImage forState:UIControlStateSelected];
}
的問題是,每次我按下按鈕時,我看到了高亮顯示的圖像follow-hilite.png
。
無法更改道路上按鈕的突出顯示圖像嗎?
我認爲這是一個不好的限制,因爲當按鈕被選中(因此,「跟隨」),並且用戶按下它,他會看到默認圖像,然後當它觸摸圖像是選定狀態和時網絡操作完成,然後按鈕圖像正確切換到選定的一個。
想法?
編輯
- (IBAction)followButtonTapped:(id)sender
{
BOOL isFollowed = [sender isSelected];
NSString *urlString = isFollowed ? kUnfollowURL : kFollowURL;
// operation [...]
[self.followButton setSelected:(isFollowed) ? NO : YES];
self.user.followed = !isFollowed;
}
我更好地解釋這個問題:在默認狀態
- 按鈕:黑色文本在白色背景 處於選擇狀態
- 按鈕:白色文字,黑色背景
如果ta沒有遵循rget用戶,按鈕處於默認狀態,如果我嘗試按下它,我會看到正確的高亮顯示的圖像。
但是,如果按照目標用戶並且按鈕處於選定狀態,如果我嘗試按下它(並按住手指),則會看到白色背景上帶有黑色文本的按鈕。這非常難看,這是我的問題。
我不知道'[sender isSelected]'是什麼,但它只返回是。 – CodaFi 2012-04-03 21:52:55
這是什麼意思:「如果目標用戶被跟蹤」? – danh 2012-04-04 00:18:21
如果用戶視圖正在顯示,我跟着。 – 2012-04-04 00:22:01