在我的UITableView中,我需要获取用户的事件,因此当选择(检查)单元格时,我放置btn_checked.png
,当它取消选中时,我放置btn_unchecked.png
。
我想,我尝试做的应该是didSelectRowAtIndexPath
方法,所以这是我的代码:
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSArray *listData =[self->tableContents objectForKey:
[self->sortedKeys objectAtIndex:[indexPath section]]];
UITableViewCell* theCell = [tableView cellForRowAtIndexPath:indexPath];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"btn_unchecked.png"]];
theCell.accessoryView = imageView;
}
我的代码段不起作用,因此在检查行时不会放置btw_unchecked.png
,同样,我需要检查/取消选中事件以将正确的图像放到正确的事件中。
提前完成。
答案 0 :(得分:1)
例如,此代码段将在单击单元格时切换单元格的复选标记。该模式是在调用委托方法时强制从表的数据源中选择性重新加载。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Dequeue the cell... then:
static NSString *CellIdentifier = @"tvcOEList";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.accessoryType = (cell.accessoryType == UITableViewCellAccessoryNone) ? UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:YES];
}
答案 1 :(得分:-1)
您可以使用以下代码。
[cell.contentView addSubview:imageView];
我希望这会对你有帮助..