我的主視圖中有兩個按鈕和一個UIImageView。一個按鈕嘗試將UIImageView旋轉30度,另一個按鈕將UIImageView的框架更新爲自身。在使用CGAffineTransform旋轉後更新UIImageView框架時奇怪的壓扁
我不希望將框架設置爲自身以影響任何視覺效果,但是如果它處於默認方向以外的旋轉中,它似乎會「擠壓」圖像。我偶然發現了這一點,因爲我想更新UIImageView的框架,以便在旋轉後更改它的x和y座標。
因此,只要我從不推送更新框架按鈕,旋轉按鈕似乎工作正常。然而,如果我在視圖旋轉的同時按第二個按鈕,它會將圖像擠壓到我不明白的狀態,或者知道如何撤消。 https://streamable.com/ba7zd
視頻的第二個按鈕只有「壓扁」,而旋轉是不是默認的方向:https://streamable.com/vo3cd
是什麼原因,這
第二個按鈕「壓扁」的形象視頻正在發生? This question和this question都似乎捕捉到類似的情況,但我不確定如何應用這兩種解決方案。
在ViewController中:
@IBOutlet weak var dog: UIImageView!
@IBAction func breakRotate(_ sender: UIButton) {
self.dog.frame = self.dog.frame // squishes if rotated
}
@IBAction func rotateDog(_ sender: UIButton) {
UIView.animate(withDuration: 1.5, delay: 0, options: [.allowUserInteraction], animations: {
self.dog!.transform = self.dog!.transform.rotated(by: CGFloat(0.523599)) // 30 degrees in radians
})
}
圖片: