ios - CGAffineTransform 未正确缩放原点

标签 ios uicollectionviewlayout cgaffinetransformscale

我可能误解了 CGAffineTransform 的工作原理,但它似乎给出了关于框架原点的奇怪结果。

例如:

        print(attribute.frame)
        attribute.transform = CGAffineTransform(scaleX: 0.68, y: 0.68)
        print(attribute.frame)

给出结果:

(213.0, 54.0, 459.0, 23.5)

(286.29948979591836、57.75280612244898、312.4010204081633、15.994387755102032)

宽度和高度正确缩放,但 x 和 y 原点的值增加了。

最佳答案

转换使用 View 的中心作为 anchor 。结果是中心保持不变,如果我计算正确,应该是 (442.5, 65,75) 但原点会移动(如果缩小则值增加,如果放大则值减小)。如果您想保留原点,可以使用多种技术来更改 anchor ,也许可以看看这个帖子:Scale with CGAffineTransform and set the anchor

关于ios - CGAffineTransform 未正确缩放原点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55373905/

相关文章:

html - 如何调整 webview 内容(包括图像)的大小以水平适应边界

iphone - NSDateFormatter IOS 错误

ios - 无法在现有的 tableviewcontroller 上呈现 .xib viewcontroller

ios - 在 iOS 8 上隐藏后退按钮

objective-c - 在发生自调整大小之前,如何准确地为 UICollectionViewLayout 提供矩形中的元素?

ios - 旋转后 UICollectionView 标题 View 自动布局困惑

ios - CollectionView 部分标题不显示

ios - 在 CGAffineTransformMakeScale 之后更正模糊文本

ios - 通过 CGAffineTransform 缩放 super View 后 subview 错位

ios - iOS 中的转换和特定的缩放