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