TabbarItem超炫小动画

420 阅读1分钟

本文转载自 不灭的小灯灯  的博客

感谢这位大神的分享!


对UITabBarController上TabBar按钮动画详细介绍-->>保证你有意外收获,如有问题欢迎指点。。

废话就不多说了直接上效果图,自己可以适当的加以修改成自己想要的


这个动画不需要美工专门提供的图片,也不需要去下载第三方的库,更不需要修改里现成已经写好的项目架构,只需要在你的 tabbarController 中加入以下的代码

@interface MainTabBarController ()
{
    NSInteger _index;
}

@end

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item {
    NSInteger selectIndex = [tabBar.items indexOfObject:item];
    if (selectIndex != _index) [self animationWithIndex:selectIndex];
}

- (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];
    
    _index = index;
}