clipsToBounds与CGAffineTransformRotate问题

时间:2011-12-28 04:12:04

标签: iphone rotation masking

我有一个带UIImageView的UIView作为子视图。 UIImageView的大小总是比UIView大,所以我设置了clipsToBounds = YES到UIView,用户可以拖动UIImageView。想象一下它是一个PhotoFrame,UIView = Frame,UIImageView = Photo。

但在我使用CGAffineTransformRotate后,我发现UIView实际上并非100%旋转。 从截图中可以看出,黑色边框属于UIView,其中clipsToBounds = YES,旋转UIImageView。但clipToBounds效果不会旋转。

这是屏幕截图链接http://www.flickr.com/photos/66833422@N02/6585836809/

我的问题是: 任何解决方案,以便我可以旋转clipsToBounds的效果?我尝试过maskToBounds,结果仍然一样。

1 个答案:

答案 0 :(得分:0)

我花了大约10个小时试图找出同样的问题。我想我有一个hacky解决方案。基本上,将图像包装在两个UIView中,并在两者上设置clipsToBounds = YES。

您的视图层次结构应该类似于

UIView(额外视图)

。 UIView(图像容器视图)

。 。的UIImageView

额外视图和图像容器视图应具有相同的大小且clipsToBounds = YES。 CGAffineTransform应该应用于额外视图。