這裏是iPad模擬器與四個嵌套UIView
s,繪製自定義背景和內部UILabel
。我旋轉頂部UIView
的CALayer的,通過讓這層設置transform
用旋轉Y CATransform3D
,動畫在一個單獨的線程(但更改transform
被主線程上發送,自然):CALayer旋轉似乎'提升'它的表面以上的兒童
注意 - 該動畫無法正確循環,因此它看起來反彈。
做動畫作爲一個整體層,但奇怪的是,第一個孩子,它的後代似乎漂浮在UIView
與變換應用上面!
UIView
本身是另一個UIView
的孩子,它有一個紅色的背景。在其他地方沒有其他轉換應用。
每個UIView的位置最初是在開始時使用setFrame
設置的。
什麼是造成這種奇怪的行爲,我如何確保孩子UIView
與他們的父母轉變,給整個表面一個平坦的外觀?
圖層具有'zPosition'屬性。默認情況下爲零,但可能出錯了。您可以嘗試手動設置它。這是我能想到的唯一的事情.. –
不,手動強制子的'zPosition'爲0(或任何其他值)沒有可辨別的效果,並且記錄該值聲稱它初始爲零。這就是說,*應該*設置'zPosition'來表示100,顯然是在做一些事情?如果是這樣,可能是一個線索。 – mseddon
它什麼都不做,對於錯誤的希望感到抱歉;)我只是嘗試了很多東西,但無法獲得您的酷炫效果,所以我不知道您是如何得到它的。順便說一句,我用了一個常規的'CABasicAnimation',也許你可以在你的代碼中使用它。 –