0
我有一個包含幾個子視圖的視圖。我可以檢測並讓用戶僅使用UIRotationGestureRecognizer旋轉一個子視圖或包含視圖。不過,我想能夠旋轉子視圖的任何方集合,就像這樣:檢測子視圖的旋轉
初始狀態:
旋轉方逆時針右上角
到達這裏
我該如何實現這種行爲? 我應該如何嵌套我的視圖層次?
任何指針讚賞:)
我有一個包含幾個子視圖的視圖。我可以檢測並讓用戶僅使用UIRotationGestureRecognizer旋轉一個子視圖或包含視圖。不過,我想能夠旋轉子視圖的任何方集合,就像這樣:檢測子視圖的旋轉
初始狀態:
旋轉方逆時針右上角
到達這裏
我該如何實現這種行爲? 我應該如何嵌套我的視圖層次?
任何指針讚賞:)
這裏就是我會做(僞):
when rotation recognized:
create new_layer
new_layer.bounds = union_rect(frames of tiles to be rotated)
new_layer addSublayers:(tiles to be rotated)
while rotation in progress:
new_layer.transform = CATransform3DMakeRotation(angle, 0, 0, 1)
when rotation complete:
(original view).layer addSublayers:(tiles to be rotated)
(tiles to be rotated) rearrange after rotation
如果你可以旋轉*平方任何*方收集...我不認爲有一個單視圖層次結構,將工作。您將不得不做更復雜的事情,即旋轉過程中,將適當的變換應用到旋轉的集合中的每個圖塊上,並在旋轉完成時,根據需要重新排列數組中的圖塊。所以:每個瓷磚一個視圖/圖層就是我的建議。 – nielsbot 2013-02-28 19:20:06
將旋轉的圖塊移動到您應用旋轉的臨時透明父圖層,然後在旋轉後將它們移回原始視圖中的正確位置可能會更容易一些。 – nielsbot 2013-02-28 19:21:24