2016-11-05 26 views
0

我正在使用SLPagingView在我的Swift 3項目中移動導航欄。如何將UITabBarController與NavigationBar和ScrollView一起使用?

enter image description here

該控制器的UIViewControllerScrollView一個​​。

我想使用UITabBarController作爲其中一個嵌入式UIViewControllers。問題是,我的TabBar丟失:

綠色控制器內的白色欄顯示的問題:

enter image description here

enter image description here

在模擬器(iPhone 7加)當前結果

我想TabBar缺少NavigationBar + StatusBar的大小。在其他控制器中,我使用了插入的UITableViews。如何在當前情況下顯示UITabBar?非常感謝幫助。

編輯

作爲當前工作的時候,我有「解」的TabBar移動到所需的位置。

class TabC: UITabBarController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     let statusBarHeight = UIApplication.shared.statusBarFrame.height 
     let screenSize: CGRect = UIScreen.main.bounds 
     let tabBarFrame = CGRect(x: 0, y: (screenSize.height - 88 + statusBarHeight), width: screenSize.width, height: 0) 

     self.tabBar.frame = tabBarFrame 
    } 
} 

完美位置是2次NavigationBar2x 44 = 88)減去statusBarHeight。它適用於iPhone 5S,6,7 Plus。每次都是同一個位置。

但爲什麼2次一個NavigationBar(減statusBarHeight這是最好的辦法?

enter image description here

+0

你有什麼whiteBar(標籤)工具欄之間的尾隨空間是4? – Joe

+0

做你所做的任何更改您的SLPagingView杆高度?.. – Joe

+0

SLPagingView從自定義的UIView從的導航欄(44)不最初+在SLPagingView沒有做的TabBar(44)這就是讓你的導航欄.. – Joe

回答

1

注:下面的答案基於與問題所有者談話。

來自帖子:完美的位置是NavigationBar的2倍(2x 44 = 88)。它適用於iPhone 5S,6,7 Plus。每次都是同一個位置。 但爲什麼是NavigationBar的2倍?

SLPagingView酒吧是一個自定義的UIView行爲像一個滑動navigationBar.From您tabBarController.you編程隱藏狀態欄..

計算:

根據您的SLPagingView控制器有沒有navigationBar(44)和tabBar(44)多數民衆贊成在2×44 = 88 ..

從你tabBarController計算應該有如下

UIApplication.shared.statusBarFrame.height + UINavigationController().navigationBar.frame.height + UINavigationController().toolbar.frame.height + tailingSpace between the barView to tabBar(8 as he mentioned) 
相關問題