私のiPhoneアプリでは、セルの左側にチェックマークの画像を表示する必要があります。最初にセルに画像がない場合、ユーザーがセルを選択すると、セルの右側にチェックマークの画像が表示されます。もう一度同じセル画像を選択すると、非表示になります。
質問する
1167 次
3 に答える
1
最初にUITableViewのメソッドで
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
cell.accessoryType = UITableViewCellAccessoryCheckmark;
// Your code...
return cell;
}
そしてショーと隠しのために
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*) indexPath{
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.accessoryType == UITableViewCellAccessoryNone) {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}else{
cell.accessoryType = UITableViewCellAccessoryNone;
}
}
これがお役に立てば幸いです。
ではごきげんよう !!!
于 2013-03-07T07:44:26.687 に答える
1
if (cell.checkMarkImage.image == [UIImage imageNamed:@"checkMarkiPad.png"])
{
cell.checkMarkImage.image=[UIImage imageNamed:@""];
}
else{
cell.checkMarkImage.image = [UIImage imageNamed:@"checkMarkiPad.png"];
}
于 2013-03-07T09:35:04.587 に答える
0
UITableViewcellのaccessorytypeメソッドを使用できます。これにより、セルの右側に「チェックマーク」を付けることができます。また、テーブルビューの左側にある[カスタム]ボタンを使用する必要があります。このボタンをクリックすると、チェック画像とチェックを外した画像を変更する必要があります。
メソッド内cellForRowAtIndex
->
{
// make a custom UIButton and set image on it.
UIButton *chk = [[UIButton alloc]initwithframe(0,0,30,30)];
[chk setBackgroundImage:[UIImage imagenamed:@"uncheck.png"]];
[chk addTarget:self action:@selector(YourbuttonAction:) forControlEvents:UIControlEventTouchUpInside]];
[cell addSubview:chk];
}
-(void)YourbuttonAction
{
// in this part ,you can change the buttons image on every click.
}
それでも問題が解決しない場合は、次のリンクをご覧ください->
http://danielsaidi.wordpress.com/2012/08/14/checkable-uitableviewcell-with-custom-image/
于 2013-03-07T07:46:49.377 に答える