我很惊讶没有找到这个问题的答案,也许是我忽略了一些非常简单的事情:
应用 CGAffineTransform 后如何获得 UIView 的实际大小?
例如。
我的 UIView 的大小为 300 x 200,我应用了缩放变换,比如说水平和垂直的因子 2,所以 UIView 现在在屏幕上占用 600 x 400,但它的边界和它的图层边界仍然返回 300 x 200 的大小...我在哪里可以找到 UIView 的实际大小?
附言。忘了提我还想旋转uiview。如果我只应用缩放 CGSizeApplyAffineTransform 效果很好,但是当还有旋转时,它就不能正常工作。
编辑:drawonward 为我指明了正确的方向,我只是对要编译的代码进行了一些改进,这里是:
UIView* view = (your view being transformed);
CGAffineTransform trans = (view.transform or create a new transformation);
CGRect rect = [view bounds];
CGMutablePathRef path = CGPathCreateMutable();
rect.origin = CGPointZero;
CGPathAddRect(path , &trans , rect);
rect = CGPathGetBoundingBox( path );
CGPathRelease( path );
现在 rect.size 包含应用了转换的视图的尺寸再次感谢drawonward