相关疑难解决方法(0)

为什么没有调用-didDeselectRowAtIndexPath?

我创建了一个新项目(Xcode 4,Master-Detail应用程序),看看我做错了什么,但我仍然遇到同样的问题.我想-reloadData在用户取消选择单元格时调用,所以这是我的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    NSLog(@"%s", __PRETTY_FUNCTION__);
}

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"%s", __PRETTY_FUNCTION__);
    [tableView reloadData];
}

-(NSIndexPath *)tableView:(UITableView *)tableView willDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
    NSLog(@"%s", __PRETTY_FUNCTION__);
    return indexPath;
}
Run Code Online (Sandbox Code Playgroud)

问题是,似乎didDeselectRowAtIndexPathwillDeselectRowAtIndexPath没有被调用.这是预期的行为吗?tableView:didDeselectRowAtIndexPath:国家的文件

告诉代理现在取消选择指定的行.

所以我猜它应该像我想的那样工作.

uitableview ios

24
推荐指数
5
解决办法
3万
查看次数

保持选定的单元格重载reloadRowsAtIndexPaths UITableView

在其中一个视图中有一个UITableView,它经常更新.使用"reloadRowsAtIndexPaths"以经典方式跟踪更改

-(void)refreshCells:(NSArray *)changedCells
{
    NSLog(@"refreshCells %i",[changedCells count]);
    [TableView beginUpdates];
    [TableView reloadRowsAtIndexPaths:changedCells withRowAnimation:UITableViewRowAnimationBottom];
    [TableView endUpdates];
}
Run Code Online (Sandbox Code Playgroud)

问题:如何保留用户上次选择的单元格.每次更新refreshCells后,单元格位置可能会发生变化?

objective-c cell uitableview ios

6
推荐指数
1
解决办法
3187
查看次数

标签 统计

ios ×2

uitableview ×2

cell ×1

objective-c ×1