在UIView过渡动画期间,UIView子视图剪辑

时间:2015-04-09 18:30:38

标签: ios clipping

我创建了一个包含UIImageView子视图的UIView子类。 UIIMageView子视图通常可能位于其superview(我的UIView子类)的边界之外。这不是问题,不会发生剪辑,因为我的子视图没有“剪辑到”#B;'。直到我的子视图执行过渡动画。

[UIView transitionWithView:self
                      duration:0.7
                       options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowAnimatedContent
                    animations:^{
                        self.bodyView.transform = CGAffineTransformMakeScale(-1.0, 1.0);
                    }
                    completion:^(BOOL fin){
                    }];

在这个例子中,' bodyView'是我的UIView子类的UIImageView子视图。在过渡期间,bodyView剪辑。我试过设置“maskToBounds”#39; superview的层属性为' NO'但这还没有解决问题。

目前唯一的解决方法是superview比子视图大得多,并且不允许子视图的框架存在于superview的边界之外,但这在我的应用程序中是不实际的。

2 个答案:

答案 0 :(得分:0)

我已经解决了。这是我自己制造的一个问题,我害怕。我在transitionWithView:duration:options:animations: - 方法中引用了错误的视图。我应该引用动画即子视图的视图。代码现在无需剪切就可以正常工作:

[UIView transitionWithView:self.bodyView
                  duration:0.7
                   options:UIViewAnimationOptionTransitionFlipFromLeft | UIViewAnimationOptionAllowAnimatedContent
                animations:^{
                        self.bodyView.transform = CGAffineTransformMakeScale(-1.0, 1.0);
                    }
                    completion:^(BOOL fin){
                    }];

答案 1 :(得分:-1)

试试这个 imgView.contentMode = UIViewContentModeScaleAspectFit;