我有3個不同的UIButtons爲每個圖像分組。我有每個圖像的ID。現在,我爲每個圖像都有一個特殊的ID,並且使用該標籤設置按鈕。UIButton的特殊標籤?
我想更改當您點擊它時選擇的背景圖像。問題是,3個按鈕是否具有相同的標籤,因此我無法更改右按鈕的背景圖像。
這是我有:
UIButton *likeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[likeButton setBackgroundColor:[UIColor clearColor]];
[likeButton setBackgroundImage:[UIImage imageNamed:@"icon_like_button.png"] forState:UIControlStateNormal];
[likeButton setBackgroundImage:[UIImage imageNamed:@"icon_like_button_hit.png"] forState:UIControlStateSelected];
[likeButton setBackgroundImage:[UIImage imageNamed:@"icon_like_button_hit.png"] forState:UIControlStateHighlighted];
[likeButton setBackgroundImage:[UIImage imageNamed:@"icon_like_button_hit.png"] forState:UIControlStateDisabled];
[likeButton setFrame:CGRectMake(13, 52 + (285 * count), 51, 55)];
[likeButton addTarget:self action:@selector(likeDudle:) forControlEvents:UIControlEventTouchDown];
[likeButton setTag:theIdInt];
[likeButton setTitle:@"no_like" forState:UIControlStateNormal];
[scrollView addSubview:likeButton];
- (IBAction)likeDudle: (id)sender {
NSInteger tagId = ((UIControl*)sender).tag;
UIButton *tempButton = (UIButton*)[scrollView viewWithTag:tagId];
NSLog(@"likeDudle: %d // %@", tagId, tempButton.titleLabel.text);
if ([tempButton.titleLabel.text isEqualToString:@"no_like"]) {
[tempButton setBackgroundImage:[UIImage imageNamed:@"icon_like_button_hit.png"] forState:UIControlStateNormal];
[tempButton setTitle:@"like" forState:UIControlStateNormal];
} else if ([tempButton.titleLabel.text isEqualToString:@"like"]) {
[tempButton setBackgroundImage:[UIImage imageNamed:@"icon_like_button.png"] forState:UIControlStateNormal];
[tempButton setTitle:@"no_like" forState:UIControlStateNormal];
}
有沒有在做這更好的辦法?
感謝, 庫爾頓
爲什麼不給每個按鈕一個獨特的標籤? – PengOne
這一切都是從服務器完成的,每個圖像都有一個唯一的ID。每個按鈕都有一個按鈕。所以如果我給了他們不同的id,它就不能匹配正確的圖像。 – iosfreak