プロトタイプ セルでは IBOutlet を指定できないため、タグを使用して UIbutton のハンドルを取得しました。ただし、メソッドでボタンの画像を設定cellForRowAtIndexPath
すると、有効および無効状態の正しい画像が表示されません。
cellForRowIndexPath:
if([cellIdentifier isEqualToString:CELL_ID_COMPLIANCE])
_infoButton = (UIButton *)[cell viewWithTag:800];
else
_infoButton = (UIButton *)[cell viewWithTag:900];
if([[comments objectAtIndex:kEntitlementComment] length] > 0){
_infoButton.enabled= YES;
[_infoButton setImage:[UIImage imageNamed:@"icon_info.png"] forState:UIControlStateNormal];
TRACELOG(@"the coments :%@", [comments objectAtIndex:kEntitlementComment]);
}
else{
_infoButton.enabled= NO;
[_infoButton setImage:[UIImage imageNamed:@"info_icon_disabled.png"] forState:UIControlStateDisabled];
}
テーブルには 2 種類のプロトタイプ セルがありますが、ボタン イメージは 2 種類しかありません。私も試しました
[self performSelectorOnMainThread:@selector(doButtonSettings:)
と
Object:textArray waitUntilDone:YES];
セレクターでボタンの画像を設定しています。ご存知のように、buttonType はプライベート セッターであるため、動的に変更することはできません。ボタン画像を条件に一致させるにはどうすればよいですか?