从嵌入式导航控制器推送 viewController 时的奇怪行为

Posted

技术标签:

【中文标题】从嵌入式导航控制器推送 viewController 时的奇怪行为【英文标题】:Odd behavior when pushing viewController from embedded navigation controller 【发布时间】:2018-10-02 07:41:01 【问题描述】:

对不起,我没有任何真正的代码,但也许我可以举一个有用的例子。假设我有两个 VC(#1 和 #2),它们由一个全屏表格视图组成。在 #1 中,我有足够的单元格来填充整个视图,但 #2 没有。当从#1 过渡到#2 时,我看到#1 的底部直到#2 完全可见。我已经包含一个视频来展示示例。

【问题讨论】:

尝试在您的第二个视图控制器的 viewDidLoad 方法中添加“view.backgroundColor = .white” 您是否以模态方式向您的 VC2 展示自定义动画?还是你使用标准的导航推送?使用标准导航推送,您不应该有这个视觉错误。当模态呈现时,您可以使用:modalPresentationStyle = .fullScreen 或 .overFullScreen。并设置背景颜色。 【参考方案1】:

日历VC

使用白色背景

self.view.backgroundColor = .white

第一个 VC

Apple clipToBounds 到菜单图片

【讨论】:

是的,将视图更改为白色似乎有效 没有意义 tbh 你用过 cliptoBounds 吗? 嗯,菜单图像是分页控制器的一部分,所以我可能不需要这样做 我会很快尝试一下

以上是关于从嵌入式导航控制器推送 viewController 时的奇怪行为的主要内容,如果未能解决你的问题,请参考以下文章

在 didSelectRowAtIndexPath 中推送视图时修复空导航控制器?

不能在代码中调用 segue (Swift)

didReceiveRemoteNotification 从 tabbarcontroller 推送视图控制器

导航控制器不推送新窗口

推送在导航控制器(故事板)中不起作用

从当前上下文推送导航