ios - 管理从普通 NavigationBar 到透明 NavigationBar 的转换

标签 ios objective-c uinavigationcontroller uinavigationbar uinavigationitem

我需要管理嵌入在使用标准、浅色、模糊层的 NavigationController 中的两个 ViewController 之间的转换。应用程序这部分中的所有 ViewController 看起来都非常适合这个模糊层,除了一个,而我希望它淡出成为一个完全透明的条,并在我弹出这个 ViewController 时恢复正常。

期望的行为:

enter image description here

我已经研究了很长时间,但我不知道如何完成它。任何人都可以帮我吗?我调查了this question但我不太明白如何实现它。

谢谢!

最佳答案

你看过UIViewControllerTransitionCoordinator了吗? ?

每个 UIViewController 都有一个 transitionCoordinator 属性,您可以访问它来执行与转换相关的任务。

UIViewControllerviewWillAppear/viewWillDisappear 方法执行转换调用 animateAlongsideTransition 方法 transitionCoordinator:

id <UIViewControllerTransitionCoordinator> coordinator = [self transitionCoordinator];

[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
    // animate the changes in the navigation bar here
} completion:nil];

关于ios - 管理从普通 NavigationBar 到透明 NavigationBar 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28266149/

相关文章:

ios - [Firebase/Core][I-COR000020] 发布到 Clearcut : Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline 时出错

objective-c - 改变正在进行的 CAKeyframeAnimation 动画的速度

ios - 如何将数组插入Sqlite数据库

ios - 如何使用 ARC 为 View Controller 正确释放和保留内存? - iOS

ios - UINavigationController topViewController 未显示

ios - ViewWillDisappear IS 在 IOS 10.3 中被强制关闭,但在 IOS 11 中没有

iphone - 初始化我自己的 api 类

ios - 从 UIView ios 推送 View Controller

iphone - 导航 Controller 上的编辑按钮不进入编辑模式

ios - 在 iOS 11 上隐藏时状态栏背景消失