【问题标题】:how to make status, tab and navigation bar animate like in the photos app如何使状态、选项卡和导航栏像照片应用程序中一样动画
【发布时间】:2012-01-28 13:26:02
【问题描述】:

我正在制作一个使用全屏显示图像的应用,例如照片应用。也像照片应用一样,我试图让导航栏、状态栏和标签栏在一段时间后或用户点击屏幕后淡出。我对 UIView 动画方法(即 animateWithDuration)做了一些改动,但我意识到我需要使用 Core Animation 才能完成我想做的事情。

到目前为止,我一直在搞乱核心动画并且遇到了一堆我不确定如何解决的问题:

a) 是否可以在动画开始之前延迟动画(不使用单独的线程)。

b) 由于我们无法访问状态栏视图/图层,我如何使用 Core Animation 使状态栏动画化?

c) 我应该如何停止动画,即如果用户在条消失时点击屏幕?我应该在 cat 交易中将它们组合在一起吗?

只是对人们在尝试完成这项任务时会采取什么方法感兴趣。到目前为止,这就是我所拥有的一切,哈哈:

CABasicAnimation *fader = [CABasicAnimation animationWithKeyPath:@"opacity"];
[fader setDuration:2.0];
[fader setFromValue:[NSNumber numberWithFloat:.75]];
[fader setToValue:[NSNumber numberWithFloat:0]];
[[[[self tabBarController] tabBar]layer]addAnimation: fader forKey:@"BigFade"];

CABasicAnimation *fader2 = [CABasicAnimation animationWithKeyPath:@"opacity"];
[fader2 setDuration:2.0];
[fader2 setFromValue:[NSNumber numberWithFloat:1]];
[fader2 setToValue:[NSNumber numberWithFloat:0]];
[[[[self navigationController] navigationBar]layer]addAnimation: fader2 forKey:@"BigFade2"];

【问题讨论】:

    标签: iphone objective-c ios cocoa-touch core-animation


    【解决方案1】:

    这里的代码几乎是照片应用程序中许多功能的复制品,在其中您可以看到如何使您的视图透明并在一定时间后/当用户点击时让它们消失屏幕。 https://github.com/kirbyt/KTPhotoBrowser

    【讨论】:

      【解决方案2】:

      你为什么不直接使用

      - (void)setToolbarHidden:(BOOL)hidden animated:(BOOL)animated 
      - (void)setStatusBarHidden:(BOOL)hidden withAnimation:(UIStatusBarAnimation)animation
      - (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated
      

      延迟?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多