2014-03-03 99 views
0

我使用如何防止子視圖自動調整大小操作的UIView動畫?

[UIView beginAnimations:nil context:NULL]; 

動畫一個UIViewController的幀。該視圖控制器包括一個UITableViewUITableView的單元格是自定義子視圖,它也具有自動調整掩碼集。

在爲父視圖控制器設置動畫效果的同時,幀中的更改也會導致該單元格內容的動畫也是預期的,但不是我想要的。我希望這些單元立即設置新框架,並且我希望整個viewcontroller內容作爲一個塊移動(動畫),而不是作爲獨立對象。

我不能專門爲內部內容設置框架,因爲這不是單個視圖控制器。有7個視圖控制器是動畫(滑動動畫)

PS:我沒有尋找一個替代組件的視圖控制器的過渡,因爲我正在做自定義動畫。

有沒有辦法停止一個特定的UIView或UIViewController自動執行操作的動畫?

更新

使用transitionWithView還是引起了與子視圖來自動調整大小動畫。堆棧跟蹤:

+[UIView(UIViewAnimationWithBlocks) transitionWithView:duration:options:animations:completion:]() 
+[UIView(UIViewAnimationWithBlocks) _setupAnimationWithDuration:delay:view:options:factory:animations:start:animationStateGenerator:completion:]() 
-[UIView(Geometry) _applyAutoresizingMaskWithOldSuperviewSize:]() 
-[UIView(Geometry) setFrame:]() 
+0

u能爲子視圖框計算新值動畫結束前? –

+0

看看我更新的答案。 –

回答

0

好的。在這裏我瘋狂的想法:

1)將所有子視圖陣列

2)從上海華

3刪除所有子視圖)創建新的視圖大小一樣老,讓她透明

4)從數組添加所有子視圖新視圖

5)應用動畫具有持續時間0(子視圖新的視圖將立即調整大小)

6)應用動畫舊觀點不同,需要時間

7)移動的子視圖回到舊觀點時,從步驟6動畫沒有結束

+0

我已經更新了與transitionWithView有關的問題。不幸的是,這也無濟於事。 – frankish

相關問題