第三十八篇给UITabBar按钮的动画效果

Posted 久冬不雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三十八篇给UITabBar按钮的动画效果相关的知识,希望对你有一定的参考价值。

 在很多情况下,我们也时常有这样的需求,就是在UITabBar切换的时候,添加一些动画效果

 

1.在UITabBar触发点击方法的时候捕获当前点击的item

2.使用coreAnimation设置动画效果

 

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {

    NSInteger index = [self.tabBar.items indexOfObject:item];

    if (self.indexFlag != index) {
        [self animationWithIndex:index];
    }

}
// 动画
- (void)animationWithIndex:(NSInteger) index {
    NSMutableArray * tabbarbuttonArray = [NSMutableArray array];
    for (UIView *tabBarButton in self.tabBar.subviews) {
        if ([tabBarButton isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
            [tabbarbuttonArray addObject:tabBarButton];
        }
    }
    CABasicAnimation*pulse = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
    pulse.timingFunction= [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    pulse.duration = 0.08;
    pulse.repeatCount= 1;
    pulse.autoreverses= YES;
    pulse.fromValue= [NSNumber numberWithFloat:0.7];
    pulse.toValue= [NSNumber numberWithFloat:1.3];
    [[tabbarbuttonArray[index] layer]
     addAnimation:pulse forKey:nil];

    self.indexFlag = index;

}

 

以上是关于第三十八篇给UITabBar按钮的动画效果的主要内容,如果未能解决你的问题,请参考以下文章

第三十八篇 vue

Python之路(第三十八篇) 并发编程:进程同步锁/互斥锁信号量事件队列生产者消费者模型

WPF学习第三十八章 行为

WPF学习第三十八章 行为

WPF效果第一百七十八篇ItemsControl旋转

开始写游戏 --- 第二十八篇