iOS 7 上的 Push Segue 未显示导航栏
Navigation Bar not showing with Push Segue on iOS 7
我在一个视图控制器和另一个视图控制器之间有一个 push segue。当从操作 sheet 中选择某个选项时,将执行 segue 并显示视图。我根据 this answer.
创建了 segue
在 iOS 8 上,这工作正常。视图被添加到导航控制器,并自动出现后退按钮。然而,在 iOS 7 上,我刚刚注意到该视图显示为模态,根本不显示导航栏。我不知道这是什么时候开始发生的,但我似乎无法弄清楚为什么。
当动作sheet项被按下时,我使用:
[self performSegueWithIdentifier:@"showRouteInformationFromMap" sender:nil];
调用 segue。我使用以下方法准备 segue:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"showRouteInformationFromMap"]) {
[[segue destinationViewController] setRouteInfo:selectedRouteID];
}
}
这只是在目标控制器上分配一个值。我没有对任一视图控制器上的导航栏进行任何更改。
有 2 个解决方法。
show segue 在 iOS 8 中引入,因此非常期待 7 中的意外行为。
第一个解决方法:
手动推动你的控制器
UIViewController *myController = [self.storyBoard.instantiateViewControllerWithIdentifier:@"storyboardIdentifier"];
self.navigationController pushViewController:myController animated:YES];
第二种解决方法:
使用故事板
断开节目转播并
连接推送 segue(显示为已弃用)。
尝试在情节提要中删除您的转场并重新创建转场。这种方法在 iOS 10 对我有用。
我在一个视图控制器和另一个视图控制器之间有一个 push segue。当从操作 sheet 中选择某个选项时,将执行 segue 并显示视图。我根据 this answer.
创建了 segue在 iOS 8 上,这工作正常。视图被添加到导航控制器,并自动出现后退按钮。然而,在 iOS 7 上,我刚刚注意到该视图显示为模态,根本不显示导航栏。我不知道这是什么时候开始发生的,但我似乎无法弄清楚为什么。
当动作sheet项被按下时,我使用:
[self performSegueWithIdentifier:@"showRouteInformationFromMap" sender:nil];
调用 segue。我使用以下方法准备 segue:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"showRouteInformationFromMap"]) {
[[segue destinationViewController] setRouteInfo:selectedRouteID];
}
}
这只是在目标控制器上分配一个值。我没有对任一视图控制器上的导航栏进行任何更改。
有 2 个解决方法。
show segue 在 iOS 8 中引入,因此非常期待 7 中的意外行为。
第一个解决方法: 手动推动你的控制器
UIViewController *myController = [self.storyBoard.instantiateViewControllerWithIdentifier:@"storyboardIdentifier"];
self.navigationController pushViewController:myController animated:YES];
第二种解决方法: 使用故事板
断开节目转播并 连接推送 segue(显示为已弃用)。
尝试在情节提要中删除您的转场并重新创建转场。这种方法在 iOS 10 对我有用。