我创建了一个包含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的边界之外,但这在我的应用程序中是不实际的。
答案 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;