(1)。我刚在Storyboard的UITableView中添加了UISearchBar。当我从默认的UITableView单击单元格时,它进入详细信息视图,我可以通过单击导航栏中的“返回”按钮返回到默认的UITableView。这是对的。
UITableView(BooksViewController with title "Books") -Item 1(Selected) -Item 2 -Item 3 DetailsView(BookDetailsViewController) Books(Back button in navigation bar) Item 1(View Title)
(2)。问题是当我从searchDisplayController.searchResultsTableView单击单元格时,它进入详细信息视图,我无法通过单击导航栏中的“返回”按钮返回到默认的UITableView。程序以以下错误结束。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Can't add self as subview'
UITableView(BooksViewController with title "Books") Search Results Item 1(Selected) Item 3 DetailsView(BookDetailsViewController) Item 1(Back button in navigation bar) Item 1(View Title)
您可能会注意到后退按钮标题显示情况(2)中的视图标题,并且无法正确返回上一个视图。我该如何解决?感谢。
答案 0 :(得分:0)
我通过在控制台中跟踪segue操作找到了问题。我不需要在细胞选择中做我自己的segue动作。它使应用程序打开两次详细信息视图。这就是为什么Back按钮返回自己的细节视图的原因。通过删除[self performSegueWithIdentifier],它现在可以正常工作。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (tableView == self.searchDisplayController.searchResultsTableView) {
[self performSegueWithIdentifier: @"segueSongsToSong" sender: self];
}
}
到
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}