[英]Could not dequeue a view of kind: UICollectionElementKindCell after going back from background
[英]UIPresentation controller - layout going wrong after coming back from background
我實現了從ViewController A(嵌入在UINavigationController中)到ViewController B的自定義過渡。
過渡使用自定義UIViewControllerAnimatedTransitioning
對象從底部“滑動” VC B直到其達到垂直屏幕尺寸的1/2。 定制演示文稿還會移動呈現的VC A,因此它會使用在自定義UIPresentationContorller
presentationWillBegin()
調用的animateAlongsideTransition(in:animation:compeltion)
與傳入的VC B animateAlongsideTransition(in:animation:compeltion)
UIPresentationContorller
。 考慮分屏顯示的VC的下1/2處在頂部,顯示的VC在底部。
一切都按預期工作,除了一個我似乎無法解決的煩人的案例:
我知道問題出在某種程度上在於回到前景時要重新校准頂部布局指南,但無法在顯示視圖之前弄清楚如何修復它。
一種可行的方法是將子視圖的約束設置為“ superview top”,而不是“ top layout guide”,但是這將其作為NavC的一部分超越了自動布局的要點。
viewWillAppear/viewWillDisappear
(因為VC A的視圖永遠不會被完全消除)。 UIPresentationController
containerViewWillLayoutSubviews/containerViewDidLayoutSubviews
任何想法表示贊賞。
iOS 10,Xcode 8.3
使用Xcode 9編譯並在iOS 11上運行似乎已經解決了這一問題。 參考上面我在Xcode 9 / iOS 11中的描述:
撤消VC B時,會自動將VC A的按鈕重新放置在VC A的頂部。重新放置雖然沒有動畫效果,但看起來很怪異,但是按預期工作,並遵循了頂部布局指南的自動布局約束。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.