首先继承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;
}
网友评论