标签栏项目转换

时间:2017-08-28 22:08:00

标签: ios swift uitabbarcontroller uitabbar uitabbaritem

我的代码中有一个标签栏控制器,我想在标签栏项之间进行动画转换。我找到了一种方法来使用控制器,但没有使用项目。我知道我必须使用UIView.animate,但我不知道如何。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我有一个带有一些tabBar项目的tabBarController,当我点击该项目时,它的比例会更大,然后回到默认大小,它只是看起来像一个动画。 使用Objective-C,您可以按如下方式使用:

//didSelectItem

-(void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{

        NSInteger index = [self.tabBar.items indexOfObject:item];
        [self animationWithIndex:index];
    }



//animation 

- (void)animationWithIndex:(NSInteger) index {
    NSMutableArray *tabBarBtnArr = [NSMutableArray array];
    for (UIView *tabBarBtn in self.tabBar.subviews) {
        if ([tabBarBtn isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
            [tabBarBtnArr addObject:tabBarBtn];
        }

    }
    UIButton *btn=tabBarBtnArr[index];
    [UIView animateWithDuration:0.2 animations:^{
        btn.transform=CGAffineTransformMakeScale(1.2, 1.2);

    } completion:^(BOOL finished) {
        [UIView animateWithDuration:0.2 animations:^{
            btn.transform=CGAffineTransformIdentity;

        }];
    }];

}