ios-UITabBar中的图片添加动画效果

实现思路:通过遍历tabBar的subviews拿到到点击的view,然后再做动画效果


UITabBarController继承类上对didSelectItem操作
indexFlag:全局变量:作用是防止重复点击相同的bar触发动画效果
下面的代码的动画消果是:点击缩小再恢复原样

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
    NSInteger index = [self.tabBar.items indexOfObject:item];
    if (self.indexFlag == index) {
        return;
    }
        NSMutableArray *btnArray = [NSMutableArray array];
        for (UIView *barView in self.tabBar.subviews) {
            if ([barView isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
                [btnArray addObject:barView];
            }
        }
    UIView *btnView = [btnArray objectAtIndex:index];
    for (UIImageView *btnImageView in btnView.subviews) {
        if ([btnImageView isKindOfClass:[UIImageView class]]) {
            [UIView animateWithDuration:0.15 animations:^{
                btnImageView.transform = CGAffineTransformMakeScale(0.7, 0.7);
            } completion:^(BOOL finished) {
                [UIView animateWithDuration:0.15 animations:^{
                    btnImageView.transform = CGAffineTransformIdentity;
                }];
            }];
        }
    }
    self.indexFlag = index;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容