Swift 2 中的 segue 没有后退按钮
No back button on segue in Swift 2
我刚刚将我的项目移植到 Swift 2,并且一切正常 - 除了即使是最简单的 segues 也没有后退按钮。这是我正在使用的 prepare for segue 函数:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if segue.identifier == "showExercise" {
if let nav = segue.destinationViewController as? UINavigationController {
if let exercisesController = nav.topViewController as? ExercisesController {
let cell = sender as! WorkoutCell
if let workout = cell.name!.text {
exercisesController.exercises = Workouts[workout]!
exercisesController.navigationItem.title = workout
}
}
}
}
}
之前,parent segue 的后退按钮用于自动填充。现在,我得到的只是 child 导航中的标题 vc
您使用的是 show 还是 show detail segue?看起来您正在使用模态转场。 show 或 show segue 的目标视图控制器通常是第二个视图控制器本身,而不是嵌入另一个 UINavigationController
.
如果您的 show segue 目标视图控制器确实是 UINavigationController
,新导航控制器的导航栏设置可能会覆盖旧的(源视图控制器的导航控制器)。尽量不要将目标视图控制器嵌入另一个 UINavigationController
.
我刚刚将我的项目移植到 Swift 2,并且一切正常 - 除了即使是最简单的 segues 也没有后退按钮。这是我正在使用的 prepare for segue 函数:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
if segue.identifier == "showExercise" {
if let nav = segue.destinationViewController as? UINavigationController {
if let exercisesController = nav.topViewController as? ExercisesController {
let cell = sender as! WorkoutCell
if let workout = cell.name!.text {
exercisesController.exercises = Workouts[workout]!
exercisesController.navigationItem.title = workout
}
}
}
}
}
之前,parent segue 的后退按钮用于自动填充。现在,我得到的只是 child 导航中的标题 vc
您使用的是 show 还是 show detail segue?看起来您正在使用模态转场。 show 或 show segue 的目标视图控制器通常是第二个视图控制器本身,而不是嵌入另一个 UINavigationController
.
如果您的 show segue 目标视图控制器确实是 UINavigationController
,新导航控制器的导航栏设置可能会覆盖旧的(源视图控制器的导航控制器)。尽量不要将目标视图控制器嵌入另一个 UINavigationController
.