动画导致图像拉伸

时间:2012-12-25 19:20:04

标签: objective-c ios

我花了一天时间来尝试更好地理解动画。 下一个代码很好用并隐藏我的tabbar。问题是它会拉伸靠近它的每个UIButton。在选项卡栏上包含自定义按钮。如果它接触另一层图像,它将拉伸它。知道如何修复代码以避免这种情况吗?感谢

 - (void)hideTabBar:(UITabBarController *) tabbarcontroller
  {
[UIView animateWithDuration:0.3
                      delay:0.0f
                    options:UIViewAnimationCurveLinear
                 animations:^{
    for(UIView *view in tabbarcontroller.view.subviews)
    {
    if([view isKindOfClass:[UITabBar class]] || [view isKindOfClass:[UIImageView class]])
    {
        [view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
    }
    else
    {
        [view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
    }
   }
                 }
                 completion:nil];
}

enter image description here

隐藏后:

enter image description here

1 个答案:

答案 0 :(得分:1)

这是UIButton而不是UIImageView。从屏幕截图中可以看出,它将成为此按钮的其他部分。

所以如果条件为

,你需要修改你
if([view isKindOfClass:[UIButton class]] || [view isKindOfClass:[UITabBar class]] || [view isKindOfClass:[UIImageView class]])

然后设置框架。同样也要改变你的show方法。