【问题标题】:how can I animate the UINavigationBar background change on UIViewController push?如何在 UIViewController 推送上为 UINavigationBar 背景更改设置动画?
【发布时间】:2012-05-30 19:36:14
【问题描述】:

我的应用程序为 UINavigationBar 使用两种不同的背景,以向用户指示他们处于层次结构中的哪个级别。当我推送需要第二个背景的 UIViewController 时,它缺少动画,一旦 UIViewController 被推送,背景就会立即改变。我如何制作动画,以便在更改视图时背景更改消失?

【问题讨论】:

    标签: iphone objective-c ios animation uinavigationbar


    【解决方案1】:

    我知道这是一个旧线程,但这对我有用:

    CATransition *transition = [CATransition animation];
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
    transition.type = kCATransitionFade;
    transition.duration = 0.5;
    
    [self.navigationController.navigationBar.layer addAnimation:transition forKey:nil];
    [self.navigationController.navigationBar setBackgroundImage:[[UIImage imageNamed:@"navigationbar.png"]resizableImageWithCapInsets:UIEdgeInsetsMake(44, 20, 44, 20)] forBarMetrics:UIBarMetricsDefault];        
    

    把它放在你的viewDidLoad 方法中。您需要链接/导入 QuartzCore 框架。

    【讨论】:

    • 我早就放弃了这个,但还是感谢你发帖。这可能有一天会派上用场。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多