2017-09-21 51 views
2

我在不使用AutoLayout的情況下添加了UITabBar,它在iOS 10.3.1之前工作正常。在iOS 11中似乎有一個新功能,那就是UITabBar的高度是縱向49和橫向模式32(Photo App是一個很好的例子)。現在,當我運行我的iOS11應用程序時,如果我在橫向模式下啓動我的應用程序,UITabBar的高度以32的高度開始,但當它旋轉到縱向模式時,它保持在32,圖標變得更大, TabBar框架。當我以縱向模式啓動應用程序時,TabBar的高度從49的高度開始,並在旋轉到縱向模式時保持不變(這是可接受的)。iPhone中的UITabbar高度在從橫向到縱向旋轉時不會動態變化iOS11

我試圖解決這個問題,使用AutoLayout和約束,但是我無法解決它。如果有人有這個問題,這將是一個很大的幫助。

更新:此問題似乎只發生在iPhone非加裝置中。

回答

1

我有這個問題,並通過在標籤欄上調用invalidateIntrinsicContentSize(),然後updateConstraintsIfNeeded()超級查看解決它。就我而言,我在一個動畫塊內部都調用了它,但也可以將它們中的一個或兩個都移出。

+0

這節省了我幾個小時,謝謝!我試圖在'traitCollectionDidChange'中的動畫塊之外做到這一點,但問題仍然會發生從橫向到縱向。最終,我把它放在'viewWillTransitionToSize:withTransitionCoordinator:'內部的動畫塊中,'animateAlongsideTransition:completion:'。 –

相關問題