添加了导航栏但没有返回按钮?
Posted
技术标签:
【中文标题】添加了导航栏但没有返回按钮?【英文标题】:Added navigation bar but there is no back button? 【发布时间】:2015-05-19 13:12:53 【问题描述】:我创建了一个表格视图,然后假设用户按下了一个单元格,它将转到 detailItemView ,但现在唯一的问题是,每当用户在 detailItemView 中时,即使我已经嵌入了一个后退按钮,也没有返回按钮导航控制器
这是一旦用户按下单元格就会执行转场的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
// Get the new view controller using [segue destinationViewController].
var nav = segue.destinationViewController as! UINavigationController
var detailScene = nav.topViewController as! DetailViewController
// Pass the selected object to the destination view controller.
if let indexPath = self.tableView.indexPathForSelectedRow()
let row = Int(indexPath.row)
detailScene.currentObject = objects?[row] as? PFObject
故事板的截图:
编辑截图
我尝试在下面做答案,但仍然没有返回按钮
另一个截图,detailView 控制器没有返回按钮
【问题讨论】:
BackButton 仅用于转到位于同一 NavigationController(堆栈)上的上一个 ViewController。因此,根据您的图像,由于您的新 ViewController 是唯一一个具有 NavigationController 的... 我可以用它返回 UITableView 吗?你能给出一些答案让我接受吗 NavigationController 需要像 Gutenmorgenuhu 的回答一样位于 TableViewController 之前。 【参考方案1】:在 NavigationController 中嵌入 TableViewController。不是 DetailViewController 直接。查看屏幕截图。
确保连接 TableViewController 和 DetailViewController 的 segue 类型为 Show(例如 Push)。您必须在 Navigationstack 顶部 push 一个新视图。
【讨论】:
检查编辑的答案,我尝试在表格视图之前进行导航但仍然没有返回按钮 您是否在 Storyboard 中标记了 TableViewController,然后选择了“Editor-> Embed In -> Navigationcontroller”? 是的,我就是这么做的。你知道这是什么问题吗?我现在真的很困惑 ViewController 和 DetailView 的连接方式是什么? segue是从table view cell -->直接到detailView Controller,我用的是prepareForsegue方法【参考方案2】:我刚才遇到了同样的问题,通过删除 segue,再次添加并立即给它一个标识符来解决。
【讨论】:
谢谢。你让我重新做,然后它起作用了【参考方案3】:点击 StoryBoardSegue,tableviewcontroller 和 detailviewcontroller 之间的链接。在属性检查器中,即使已选中,您也可能需要单击“动画”检查。在选择“种类”下拉菜单中的“显示(例如推送)”后执行此操作。然后运行您的应用程序,然后在停止您的应用程序后重新选择相同的“动画”选项。我认为这是一个错误,我花了一个小时才弄清楚如何解决这个问题。此外,您可以使用已弃用的“推送”,但这会引发警告。已弃用的“Push”位于 StoryBoardSegue 属性检查器中的“Kind”下。
【讨论】:
【参考方案4】:我也在为此苦苦挣扎,我命名了 segue 的标识符,现在它可以工作了。只需选择从 Table View 到 View 的 segue(箭头),然后转到选项所在的右上角,然后选择 Show the attributes inspector。标识符有一个字段。
【讨论】:
【参考方案5】:只需将uinavigation
与UItableview
连接起来即可(显示)
【讨论】:
【参考方案6】:如果您当前的视图控制器嵌入在导航控制器中,则无需将详细视图控制器嵌入导航控制器中。只需将一个按钮连接到详细视图控制器,后退导航就会自动出现。
【讨论】:
【参考方案7】:在属性检查器中将detailView的“界面样式”更改为“推断”
【讨论】:
以上是关于添加了导航栏但没有返回按钮?的主要内容,如果未能解决你的问题,请参考以下文章