gpt4 book ai didi

ios - 在导航 Controller 上推送时 View 变暗

转载 作者:可可西里 更新时间:2023-11-01 03:17:40 26 4
gpt4 key购买 nike

我正在通过 segues 在 NavigationController 上推送 ViewController。我有自己的子类 NavigationController,它在索引 0 处插入了 UIImageView - 它是我整个应用程序的背景。

问题是我可以看到,当新的 View Controller 从右侧出现在屏幕上时,一开始它就像是有一些浅色的深色覆盖层在 viewDidApear 之后消失了打电话。

每个 View Controller 都有一个 self.view.backgroundColor = [UIColor clearColor]。如果我暂时改变它,一切都很好。也许我应该以另一种方式设置应用程序的背景?如果不是,如何避免这种暗化效应?

这里你有这个效果的屏幕截图: http://tinypic.com/r/34j9ffs/8

最佳答案

这是因为 iOS 7 中标准的 UINavigationController 推送动画。当一个新的 VC 被推送到堆栈上时,它会自己覆盖在之前的 VC 之上,并在其下方有一个轻微的阴影。因此,当您推送具有清晰背景的 viewController 时,您会在转换发生时看到阴影。

有几个可能的解决方案:

  • 在您的 viewController 上设置背景颜色(由于您的全局背景图像,可能不适合您)。最简单的解决方案,但需要更改您的设计。
  • 使用新的 iOS 7 API 实现您自己的转换。参见 an example here和一篇来自 Big Nerd Ranch here 的文章.如果您想保留背景图片,这确实是解决问题的“正确”方法。
  • 添加 UINavigationController 类别以添加更简单的“复古”推送和弹出动画,as per this answer .这更像是一种快速而棘手的解决方案。

关于ios - 在导航 Controller 上推送时 View 变暗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21427048/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com