gpt4 book ai didi

iphone - 设置转换 :CGAffineTransformMakeScale - Alternatives when trying to scale an UIView

转载 作者:太空狗 更新时间:2023-10-30 04:01:32 27 4
gpt4 key购买 nike

我使用以下方法将 View 缩放到其原始大小的 3 倍:

[pageShadowView setTransform:CGAffineTransformMakeScale (3, 1)];

我想要一个方法来测试我的 UIView (pageShadowView) 是否已经缩放 - 在这种情况下我想将它除以 3,以便它恢复到正常大小。

我想不出有什么方法可以做到这一点。所以我认为最好是测试我的 UIPageView 是否具有特定尺寸,如果没有则将其重新调整为原始尺寸。

所以我的问题是,是否有一种方法可以将 UIView 缩放到某个不是相对的宽度和高度(即其大小的 3 倍),而是以像素表示(例如 200 像素 x 300 像素)。 我在文档中找不到任何关于 CGAffineTransform 部分的内容,老实说,这让我有点头疼。

如有任何建议,我们将不胜感激!

最佳答案

要检查您的 View 是否缩放,我们只需要检查它的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;

检查 UIViewbounds 而不是 frame 很重要,因为 frame 在以下情况下无效UIView 已转换。

关于iphone - 设置转换 :CGAffineTransformMakeScale - Alternatives when trying to scale an UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5531805/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com