本文转载自 不灭的小灯灯 的博客 Tabbar点击时候超炫小动画
感谢这位大神的分享!
对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;
}