私はアプリケーションで20個のUIButtonを使用しています。クリックイベントでこれらすべてのUIButtonの背景画像を設定します。これらすべてのUIButtonはNSMutableArrayに保存されます。ここにコードがあります。
saveBtn = [[NSMutableArray alloc] init];
for (int i=0; i<20; i++) {
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(spacex, spacey, 30.0, 30.0);
idx = arc4random()%[arr count];
NSString* titre1 = [arr objectAtIndex:idx];
[btn setTitle:titre1 forState:UIControlStateNormal];
spacex = spacex + 30;
[saveBtn addObject:btn];
[self.view addSubview:btn];
}
ここで成功したのは私のコードです。
UIButton *currentButton = (UIButton *)sender;
UIImage * imgNormal = [UIImage imageNamed:@"subtabButton.png"];
[currentButton setBackgroundImage:imgNormal forState:UIControlStateNormal];
[currentButton setTitle:currentButton.titleLabel.text forState:UIControlStateNormal];
しかし、これらの20個のUIButtonの間に3個のUIButtonがあります。プレーヤーがこれらの3個のUIButtonのいずれかをクリックすると、以前に設定されたすべての背景画像がUIButtonsから削除されます。