Tabbar按钮切换的动画效果

2018-04-26  本文已影响0人  海笙樾

首先继承UITabBarController创建自己的Controller
实现代理UITabBarControllerDelegate
在-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item;中写动画

 NSInteger index = [self.tabBar.items indexOfObject:item];
    if (index != _index) {
        //执行动画
        NSMutableArray *arry = [NSMutableArray array];
        for (UIView *btn in self.tabBar.subviews) {
            if ([btn isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
                [arry addObject:btn];
            }
        }
        CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
        //速度控制函数
        animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
        animation.repeatCount = 1;      //次数
        animation.duration = 0.25;       //时间
        animation.fromValue = [NSNumber numberWithFloat:0.8];   //伸缩倍数
        animation.toValue = [NSNumber numberWithFloat:1];     //结束伸缩倍数
        [[arry[index] layer] addAnimation:animation forKey:nil];
//记录当前的显示的Tabbar的index
        _index = index;
    }
上一篇 下一篇

猜你喜欢

热点阅读