rpo*_*ell 6 objective-c uinavigationbar uinavigationcontroller ios7
我正在努力的应用程序barTintColor在推送新的视图控制器时更改其导航栏.现在我们在目标视图控制器的viewWillAppear:方法中设置了这种颜色,但是我们遇到了一些问题.
按照我们现在这样做的方式,导航栏的颜色突然变化,而其余的条形内容像往常一样动画.我喜欢的是酒吧在源颜色和目标颜色之间淡入淡出.有没有办法用公共Cocoa Touch API实现这一目标?
小智 17
您可以使用UIViewControllerTransitionCoordinator添加与视图控制器转换的时序和动画曲线相匹配的额外动画.
视图控制器的transitionCoordinator将被设置后视图控制器的动画已经开始(因此在viewWillAppear所呈现的视图控制器).animateAlongsideTransition:completion:在转换协调器上添加任何额外的动画.
一个例子:
[[self transitionCoordinator] animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) {
self.navigationController.navigationBar.translucent = NO;
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
self.navigationController.navigationBar.barTintColor = [UIColor redColor];
} completion:nil];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4123 次 |
| 最近记录: |