0
我使用CALayer交互式書籍引擎,並希望旋轉CALayer圍繞它的中心,但是當我將旋轉變換(使用基於用戶輸入的角度)應用於CALayer它變得瘋狂:層以非常奇怪的方式伸展和移動並消失。我要做的就是CALayer的旋轉變換奇怪的行爲
[CATransaction begin];
[CATransaction setValue: (id) kCFBooleanTrue forKey: kCATransactionDisableActions];
...
layer.transform = CATransform3DMakeRotation(angle, 0, 0, 1);
...
[CATransaction commit];
有趣的是,當我的角度是M_PI或M_PI/2,或者它的尺度變換一切正常,但是當它的旋轉和任何其他角度層都瘋了。
有沒有人知道發生了什麼,以及如何解決它?
CALayer的起源在中心嗎?如果不是,則需要先將原點轉換爲中心,然後進行旋轉,然後將其轉換回來。 – user1118321
試試這個'layer.anchorPoint = CGPointMake(0.5,0.5);' – Bala
你的圖層是否屬於視圖?如果是這樣,該視圖是否使用自動佈局?自動佈局系統會嘗試設置視圖的框架,並且如果您的視圖被轉換,通常會導致奇怪的結果。 –