我有两种方法可以改变单元格的加速类型。 首先在加载所有单元格后调用,另一个单元格在用户单击任何单元格时调用。
第二种方法工作正常,它会从所选单元格中删除复选标记。不幸的是,第一个没有做任何事情(我想在其中一个单元格中添加复选标记)。这让我很困惑,因为这些方法应该是一样的,不管它们不应该吗?
// First method
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([indexPath row] == ((NSIndexPath*)[[tableView indexPathsForVisibleRows]
lastObject]).row)
{
LanguageTableViewCell *cell = [self.tableView cellForRowAtIndexPath: [NSIndexPath indexPathForRow:myNumber inSection:0]];
cell.accessoryType = UITableViewCellAccessoryCheckmark;
}
}
// Second method
- (void)tableView:(UITableView )tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
LanguageTableViewCell *cell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:myNumber inSection:0]];
cell.accessoryType = UITableViewCellAccessoryNone;
}
我试图更改单元格类,但它仍然无效。我不确定是否在正确的时间调用第一个函数=在viewDidLoad之后... 谢谢你的帮助!
答案 0 :(得分:1)
您想使用- (__kindofUITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath
。