1

在我的 SplitViewController 中,基于 DetailViewController 中的操作,我使用 NSNotificationCenter 更新 MasterViewController 行,基本上是这样的:

保持 MasterViewController 和 DetailViewController 同步

问题是,一旦对 MasterViewController 的行进行了更新,就不再选择该行。当我使用 splitViews 查看 Apple 的 iPad 应用程序时,例如 Note 应用程序,总是选择一行。我想做同样的事情,所以我的两张桌子之间的一切都保持同步。因为我有 tableView 的 indexPath,所以我可以手动setSelected:YES animated:NO在行上,但我仍然看到所选行的蓝色突出显示在再次设置之前闪烁。我不想要那个。

主视图控制器:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
        Scene *object = [[[DataManager sharedInstance] sceneArray] objectAtIndex:indexPath.row];
        self.detailViewController.detailItem = object;
    }
}
4

1 回答 1

0

这是关键 - 在 UITableViewController 上设置此属性:

self.clearsSelectionOnViewWillAppear = NO;
于 2012-05-20T18:33:49.093 回答