我正在創建一個iMessage擴展,其中擴展演示樣式我想使用UINavigationController
。我試着用下面的功能導航控制器添加爲MSMessagesAppViewController
的子視圖:UINavigationController作爲MSMessagesAppViewController的子視圖
private func present(viewController: UIViewController) {
viewController.view.frame = view.frame
addChildViewController(viewController)
viewController.didMove(toParentViewController: self)
view.addSubview(viewController.view)
}
我期待導航控制器顯示在傳統的方式,配合其導航欄開始略低於頂欄的iMessage本身。請看下圖我預期的結果:
然而,似乎view.frame
實際上iMessage的頂部欄下方延伸。因此,我的導航控制器的導航欄隱藏在iMessage頂部欄的下方。但是,滾動視圖本身的內容視圖正確定位,無需進一步定製。請參閱下圖的實際結果是:
很顯然,我可以設置導航控制器的框架,開始略低於頂吧。不過,我正在尋找不太依賴硬編碼職位的解決方案。如果這樣做,滾動視圖也不會繼續在iMessage頂部欄下方顯示半透明效果。
理想情況下,導航欄將顯示在iMessage頂欄的正下方,就像默認的滾動視圖一樣。
有誰知道解決這個?
看來有更好的解決方案http://stackoverflow.com/questions/38426146/how-to-keep-navigation-bar-from-disappearing-with-msmessagesviewcontroller-ui。 – nouatzi