UIView setTransform和CGRect的应用(转换)是不是等价的?

时间:2017-05-24 06:38:16

标签: ios swift animation uiview

我想要转换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?

0 个答案:

没有答案