为什么我的performSegueWithIdentifier最终没有后退按钮?

时间:2014-11-13 22:14:48

标签: ios objective-c uiviewcontroller segue uisplitviewcontroller

出于某些原因,当我从添加视图执行SeeseWithIdentifier时,iPhone模拟器中缺少后退按钮。

这是一个“Master-Detail Application”模板,添加按钮转到新的UIView。 (整个演示在github

以编程方式点击 Programmically clicked

用户点击 User clicked

我的添加视图在表控制器上调用以下代码:

[self.navigationController popToRootViewControllerAnimated:NO];
//[self.navigationController popViewControllerAnimated:NO];

NSIndexPath* selectedCellIndexPath = [NSIndexPath indexPathForRow:0 inSection:0];
[self.tableView selectRowAtIndexPath:selectedCellIndexPath animated:false scrollPosition:UITableViewScrollPositionMiddle];
[self performSegueWithIdentifier: @"showDetail" sender:[self.tableView cellForRowAtIndexPath:selectedCellIndexPath]];

但是,直接从表格视图运行此代码可以正常运行。

所以我不知道为什么后退按钮没有显示在iPhone上。 (iPad版似乎完美无缺)。

1 个答案:

答案 0 :(得分:0)

我尝试了一些不同的策略来解决我的问题。

我发现最接近的是显示添加为模态,segue到细节,展开segue。

在iPad版本上仍有一点问题,(添加按钮在添加时消失),但效果比原始代码好。

Solution on Github

如果有人有更好的解决方案,那么我很乐意改变已接受的答案。