1

我正在创建一个应用程序,它是它所UITableView在的堆栈上的第一项。在 上UINavigationController进行选择UITableView会将视图推送到“ DetailedViewController”。在 中DetailedViewController,您可以浏览填充了表格视图的项目。

弹出DetailedViewController并移回 时UITableView,如何取消选择通过 导航到的相应项目DetailedViewController并将其显示在UITableView

每个人都可以看到的一个示例是邮件应用程序。当您在收件箱中进行选择时,您按下“ DetailedViewController”。在那里,您可以浏览填充在UITableView. 当您弹出 时DetailedViewController,它会取消选择您最后在 中查看的相应项目DetailedViewController

4

2 回答 2

2

要取消选择选定的行,请编写以下代码viewDidAppear:方法。

// Index path for selected row
NSIndexPath *selectedRow = [_tableView indexPathForSelectedRow];

// Deselet the row with animation
[_tableView deselectRowAtIndexPath:selectedRow animated:YES];

// Scroll the selected row to the center
[_tableView scrollToRowAtIndexPath:selectedRow 
       atScrollPosition:UITableViewScrollPositionMiddle 
               animated:YES];
于 2011-09-08T06:42:46.900 回答
0

根据您希望动画的外观,您可以简单地取消选择当前选择的行。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
     ...
}
于 2011-09-08T06:40:38.583 回答