将 UINavigationController 与具有透明背景的 UIViewController 一起使用
Posted
技术标签:
【中文标题】将 UINavigationController 与具有透明背景的 UIViewController 一起使用【英文标题】:Using UINavigationController with UIViewControllers having transparent background 【发布时间】:2014-05-02 07:46:08 【问题描述】:UINavigationController
的默认行为是缓慢地将 currentViewController 向左移动,而新推送的视图控制器则快一点。
这在纯色背景下效果很好。
我需要为UINavigationController
堆栈内的所有视图控制器使用透明背景。在这种情况下,默认行为会导致视图控制器相互重叠(正如预期的那样,因为它们没有背景,它们看起来就像它们混合在一起),直到视图控制器的推送/弹出完成。这看起来很难看。
有什么可以用默认或子类UINavigationController
做的吗?
【问题讨论】:
如果你想要透明背景,那么你可以使用 alpha 属性 @Anonymous 我已经做到了透明化。透明的过渡很丑陋。这就是为什么我试图改变这种转变。 【参考方案1】:您可以按照here 的描述进行自定义推送/弹出转换。您可以在视图控制器不重叠的情况下进行简单的幻灯片转换,使您的推送动画看起来不错。
【讨论】:
我需要支持 ios 6.0+ :-/以上是关于将 UINavigationController 与具有透明背景的 UIViewController 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
将 UIViewController 放在 UINavigationController 堆栈之上
将 UIViewController 添加到 UINavigationController 的问题
如何将 UIView 添加到 UINavigationController 堆栈
将 UINavigationBar 添加到没有 UINavigationController 的 UITableViewController