NavigationController 推送扭曲背景图像

Posted

技术标签:

【中文标题】NavigationController 推送扭曲背景图像【英文标题】:NavigationController Push Distort Background Image 【发布时间】:2016-12-01 11:09:16 【问题描述】:

我有两个ViewControllers 都有一个背景图像,其高度等于视图控制器的父视图。 当我push/pop 在这些ViewController 之间时,动画会在pushing/poping 动画开始时扭曲背景图像动画。 我不想禁用push/pop 动画,但我也不希望这种图像动画的突然失真。 我的NavigationBar 启用了半透明属性以及NavigationBar 上的透明背景图像。 我已经通过AutoLayouts 在每个视图控制器上设置了背景图像,顶部、前导、尾随、底部为常数零。

【问题讨论】:

你能显示任何相同的代码吗?您使用的是哪个 xcode?​​span> 【参考方案1】:

根据您的问题,我可以理解您有两个带有背景图像的视图控制器,您将一个推到另一个,并且当您导航该视图控制器时,背景图像会失真。 首先在 ios 10 中,你应该使用 show 而不是 push 方法,然后你应该在导航时使用 dispatch -

dispatch_async(dispatch_get_main_queue(), ^
    [self.navigationController pushViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"thirdScreen"] animated:YES];
);

PS :- 我不认为这是由半透明属性引起的。

【讨论】:

以上是关于NavigationController 推送扭曲背景图像的主要内容,如果未能解决你的问题,请参考以下文章

推送 ViewController 时清除 navigationController 堆栈

在 iOS 上的 navigationController 推送上更改 contentSizeForViewInPopover

TabBarController + NavigationController:推送和弹出问题

iOS webkit/webview 推送和扭曲内容

从 navigationController 访问推送的控制器

推送一个不带 NavigationController 的新视图