簡體   English   中英

自定義ViewController轉換:獲取ToViewController的子視圖框架

[英]Custom ViewController Transitions: Get ToViewController's Subview's Frame

以下是我的問題的說明:

插圖

我在ViewControllers A和B中有StarImageView,它在ViewController中顯示相同的圖像但彼此具有不同的幀。

點擊 ViewController A中的StarImageView時,應用程序將新的視圖控制器推入導航控制器堆棧,同時在ViewController B中動畫到其最終幀。

這種行為就像iPhone照片應用程序中的過渡一樣。


我現在怎么做

我使用ViewController A中的初始StarImageView框架和圖像初始化animator對象中的臨時UIImageView,並通過硬編碼rect CGRectMake(0, 60+44, containerView.bounds.size.width, containerView.bounds.size.width)其設置為最終幀。 CGRectMake(0, 60+44, containerView.bounds.size.width, containerView.bounds.size.width) (ViewController B中StarImageView的框架),並從動畫完成塊中的superview中刪除臨時UIImageView。


我多么希望這樣做

該項目是在故事板中創建的,啟用了autolayout。 我想要做的是在轉換期間在ViewController B中獲取StarImageView的幀,而不是像上面那樣對其進行硬編碼。 由於ViewContorller生命周期,我無法在animator對象中引用ViewController B中的任何子視圖,因為它們尚未初始化。

對於這種情況,還有其他解決方案或最佳實踐嗎? 提前致謝!

PS我已經看到了這個這個這個 ,但沒有運氣的答案。

[toViewController.view layoutIfNeeded];

暫無
暫無

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

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