我想要转换CGRect。我的第一个代码是使用UIView。但我意识到我不应该在我的代码中使用UIKit对象。 最后我发现CGRect有applying(transform) method。看起来很棒。但结果并不相同。
var f = CGRect(x: 10, y: 30, width: 100, height: 200)
let v = UIView(frame: f)
let t = CGAffineTransform(a: 0.96190500259399414, b: -0.27338498830795288, c: 0.27338498830795288, d: 0.96190500259399414, tx: 181.20297241210938, ty: 345.42660522460938)
// 1: transform using uiview.
v.transform = t
v.frame // {x 165.769 y 365.567 w 150.867 h 219.719}
// 2: transform using applying method
f.applying(t) // {x 199.024 y 344.211 w 150.867 h 219.719}
1和2不相同。 1对我来说是正确的结果。 如何在不使用UIView的情况下转换CGRect?