我使用以下内容将视图缩放到原始大小的3倍:
[pageShadowView setTransform:CGAffineTransformMakeScale (3, 1)];
我想有一个测试我的UIView(pageShadowView)是否已经缩放的方法 - 在这种情况下我想将它除以3,以便它恢复到正常大小。
我想不出任何能做到这一点的方法。所以我认为最好测试我的UIPageView是否具有某个尺寸,以及是否不将其重新缩放到原始尺寸。
所以我的问题是,是否有一种方法可以将UIView缩放到某个不相对的宽度和高度(即大小的3倍),但以像素表示(例如200像素x 300像素)。 / strong>我在文档中找不到任何东西,说实话,在CGAffineTransform部分有点过头了。
非常感谢任何建议!
答案 0 :(得分:7)
要检查您的视图是否已缩放,我们只需检查其transform
是否不是标识转换。
BOOL isScaled = ! CGAffineTransformIsIdentity(pageShadowView.transform);
应该注意,只有在您不使用任何其他类型的转换,即轮换或翻译时,此检查才有效。
将UIView
缩放到一定的宽度和高度也很容易:
CGFloat yourDesiredWidth = 200.0;
CGFloat yourDesiredHeight = 300.0;
CGAffineTransform scalingTransform;
scalingTransform = CGAffineTransformMakeScale(yourDesiredWidth/pageShadowView.bounds.size.width,
yourDesiredHeight/pageShadowView.bounds.size.height);
pageShadowView.transform = scalingTransform;
检查UIView
的{{1}}代替bounds
非常重要,因为转换frame
时frame
无效。