このようにテーブルビューのセルにボタンを追加しました-
UIButton* checkBoxBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[checkBoxBtn setBackgroundImage:[UIImage imageNamed:@"check_normal.png"] forState:UIControlStateNormal];
[checkBoxBtn addTarget:self action:@selector(checkBoxAction:) forControlEvents:UIControlEventTouchUpInside];
checkBoxBtn.tag = indexPath.row;
[cell.contentView addSubview:checkBoxBtn];
これが私のcheckBoxActionです
-(void) checkBoxAction: (UIButton *)sender
{
NSInteger i =sender.tag + 1;
float perc = (i*100/18.0);
NSLog(@"%.2f",perc);
NSString* percentageStr = [[NSString alloc] initWithFormat:@"%3.2f%%(%d out of 18)",perc, i];
barTitle.text = percentageStr;
barFGImage.hidden = NO;
if (perc == 100.00) {
[barFGImage setFrame:CGRectMake(barFGImage.frame.origin.x, barFGImage.frame.origin.y, 276.0, barFGImage.frame.size.height)];
}
else
[barFGImage setFrame:CGRectMake(barFGImage.frame.origin.x, barFGImage.frame.origin.y, 280*perc/100, barFGImage.frame.size.height)];
[sender setBackgroundImage:[UIImage imageNamed:@"check_select.png"] forState:UIControlStateNormal];
sender.userInteractionEnabled = NO;
}
今のところすべてOKですが、ユーザーが押すcheckBoxBtn
とアラートを表示したいので、ユーザーがOKを押すと、呼び出されるはずです。デリゲートメソッドcheckBoxAction
があることはわかっています。UIAlertView
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
しかし、問題は、checkBoxBtnを取得する方法です。
編集: Midhun MPの回答は問題ありませんが、もう1つ必要です。セルには3つのラベルとボタンがあります。チェックボックスをクリックすると、ラベル「6日以内に期限が切れます」を他のものと一緒に変更します。私の
checkBoxAction
方法でやった私を助けてください。ありがとう。