UINavigationController 奇怪的弹出动画
Posted
技术标签:
【中文标题】UINavigationController 奇怪的弹出动画【英文标题】:UINavigationController strange pop animation 【发布时间】:2016-02-18 06:58:39 【问题描述】:当我在我的 NavigationController 上弹出一个 ViewController 时,我有一个奇怪的动画。短视频说明:https://youtu.be/IMbIS7evLrs
视图控制器结构是: UITabBarController -> UINavigationControllers -> UIViewControllers
我在 UIViewController 中使用这一行推送新的 VC:
[self.navigationController pushViewController:tripVC animated:YES];
tripVC
是一个新创建的 UIViewController。
然后当点击 NavigationController Back 按钮时会弹出。我也尝试过使用
[self.navigationController popViewControllerAnimated:YES];
从tripVC
中得到同样奇怪的动画。
特别奇怪的是,我在其他应用程序上使用过这种结构/方法并且没有遇到过这个问题。我想知道我的应用程序中是否有一些奇怪的 segue 代码/缺少一些动画代码?
【问题讨论】:
第二个VC中的背景图片似乎比设备屏幕宽。检查约束。这也可能与 UIImageView 的内容模式有关 - 为了保持纵横比,imageview 可能超出屏幕宽度 @Paulw11 - 很可能就是这样!它更广泛 - 故意 - 因为我在另一个视图上使用 UIMotionEffectGroup 并希望图像在这个 VC 上是相同的。会看看。 @Paulw11 - 哇 - 就是这样。一段时间以来一直在与那个挣扎。谢谢。请张贴作为答案,我会接受。 【参考方案1】:似乎第二个VC中的背景图像比设备屏幕宽。当这个场景推入/推出时,图像通常隐藏的边缘会被短暂地显露出来。
【讨论】:
我遇到了同样的问题。我只是将 imageView 裁剪到边界,它不再有故障了。【参考方案2】:是的,就我而言,@Paulw11 是对的。为您的根视图启用 clipsToBound。
【讨论】:
【参考方案3】:如果您没有给出 self.view 的背景颜色,那么它也可能发生。 这是导航动画奇怪的第二个原因。
【讨论】:
以上是关于UINavigationController 奇怪的弹出动画的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationController 奇怪的弹出动画
在 UISplitViewController 中弹出 UINavigationController 会导致奇怪的过渡
UITabBarController 中的 UINavigationController 奇怪的弹出动画
从 UINavigationController (IOS 5) 弹出 UIViewController 时出现奇怪的动画
iOS 应用程序奇怪的崩溃 [UINavigationController _startCustomTransition:]