iOS中给自定义tabBar的按钮添加点击放大缩小的动画

  • 之前想过一些通过第三方的方式实现动画,感觉有点麻烦,就自己写了一个
  • 不足之处还望大家多多指出
// 一句话,写在UITabBarController.m脚本中,tabBar是自动执行的方法  
  
  
// 点击tabbarItem自动调用  
-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item  
{  
    NSInteger index = [self.tabBar.items indexOfObject:item];  
  
    [self animationWithIndex:index];  
  
    if([item.title isEqualToString:@"发现"])  
    {  
      // 也可以判断标题,然后做自己想做的事得意  
    }  
  
}  
- (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];  
   
}  

你可能感兴趣的:(iOS中给自定义tabBar的按钮添加点击放大缩小的动画)