簡體   English   中英

當 transform.rotation.y > M_PI 時,UIView 的圖層旋轉不會將背景保持在頂部

[英]UIView's layer rotation does not keep the background on top when transform.rotation.y > M_PI

我正在使用 Core Animation 並且我正在為我的最后一個寵物用例而苦苦掙扎:在 y 軸上旋轉一張卡片。

這是我的視圖的設置方式:

- AceView
   |
   └- background-view (filling the frame with a white background)
   |
   └- UILabel and UIImageView views for the UI artifacts

由於CABasicAnimation class 設置了 animation 東西並應用於 AceView 的圖層。 不幸的是,行為並不像我預期的那樣:

在此處輸入圖像描述

卡片會旋轉,但我想要的是,當我們看到視圖的“背面”( transform.rotation.y > M_PI )時,我們會看到我上面提到的“背景視圖”(即上圖中的第三個)步驟將完全是白色的)。 起初我什至認為為 AceView 設置背景顏色就足夠了,不幸的是沒有。

我必須清楚地錯過一些東西,你能解釋一下嗎?

編輯:我可以使用+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion我的期望+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion但仍然,如果有人能解釋我為什么在> M_PI時在 y 軸上旋轉不顯示白色視圖,我會非常高興。

默認情況下,CALayer 會在默認情況下繪制正在旋轉的視圖的兩側。 我假設您在 transitionFromView:ToView: 上看到差異的原因是因為您從“fromView”的前面翻轉到“toView”的前面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM