【发布时间】:2013-09-17 20:35:55
【问题描述】:
我正在为 iOS 7 更新我的应用程序,但我发现了一个奇怪的问题。我正在展示一个 UIViewController 包装在带有 UIModalTransitionStyleFlipHorizontal 的 UINavigationController 中。
在 iOS 6 中它可以正常工作,但在 iOS 7 中导航栏在转换后会弹跳。这和状态栏有关系吗?我已将主导航栏的半透明设置为NO。
在 Info.plist 中,基于视图控制器的状态栏外观设置为 NO。
这是一个 GIF,在一个最小的演示应用中显示了问题:
这是我的代码:
feedNavigationController = [[UINavigationController alloc] init];
feedNavigationController.navigationBar.translucent = NO;
SettingsViewController *settingsVC = [[SettingsViewController alloc] init];
feedNavigationController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[feedNavigationController setViewControllers:[NSArray arrayWithObjects:settingsVC, nil]];
[self presentViewController:feedNavigationController animated:YES completion:nil];
【问题讨论】:
-
很遗憾找不到视频。
-
我也有同样的问题。
-
完全相同的问题,GM 版本有一些 Biig 问题,collectionView reloadData 也是一个!
-
不适合我! iOS 8 仍然存在这个问题。视图中的 self.navigationController?.navigationBar.layer.removeAllAnimations() 将为我修复它。
-
在我的项目中也是如此,在 iOS9 上,我使用 UIView transitionFromView:toView:duration:options:completion: 在两个视图控制器之间切换并面临这个错误。以下答案解决了导航栏高度的问题,但不是它的色调,有人遇到过这个问题吗?
标签: ios cocoa-touch uiviewcontroller uinavigationcontroller uimodaltransitionstyle