カスタム チェックマーク ボタンを実装する方法は、配列の数に依存し、これらのボタンで複数選択できるようにする必要があります。現在、私はこのように使用されていますが、
int YAxis = 300;
for (int x=0; x< [myResultArray count];x++)
{
checkmarkButton = [UIButton buttonWithType:UIButtonTypeCustom];
checkmarkButton.frame = CGRectMake(100, YAxis, 20, 20);
checkmarkButton.tag = selectedServiceTag;
[self.view addSubview:checkmarkButton];YAxis = YAxis+30;
}
チェックマークの設定画像:
[checkmarkButton setBackgroundImage:[UIImage imageNamed:@"checkBox_none"] forState:UIControlStateNormal];
[checkmarkButton addTarget:self action:@selector(serviceSelected:) forControlEvents:UIControlEventTouchUpInside];
次に、アクションメソッドを実装しました。
-(void)serviceSelected
{
checkmarkButton.selected = !checkmarkButton.selected;
if (checkmarkButton.selected)
{
[checkmarkButton setBackgroundImage:[UIImage imageNamed:@"checkBox"] forState:UIControlStateNormal];
}
else
{
[checkmarkButton setBackgroundImage:[UIImage imageNamed:@"checkBox_none"] forState:UIControlStateNormal];
}
}
ただし、選択時は最後のインデックスボタンのみが選択されます。