2017-04-04 107 views
1

我的viewController具有導航欄和標籤欄。 我需要找出可用空間後減去導航和標籤欄的大小。 我想:Swift - 使用導航欄和標籤欄獲取viewController的大小

let height = UIScreen.main.bounds.height - self.navigationController!.navigationBar.frame.size.height - self.tabBarController!.tabBar.frame.size.height 

但它不工作... 難道我做錯了什麼?

編輯: 抱歉,缺少信息。 我想在導航和選項卡欄之間嵌入UIScroll視圖。該公式返回的高度大於可用空間。

titleView = UIScrollView(frame: CGRect(x: 0, y:0, width: titleWidth, height: height)) 

於titleview超越 「tabbar.y」

+0

你會得到什麼結果?你在哪裏調用這個代碼? – dmorrow

+0

對不起,我添加了更多信息。 –

回答

0

解決方法是也減去statusBar的高度。該死..

0

得到這個信息是使用佈局指南的最簡單方法。

let viewHeight = view.frame.height - (topLayoutGuide.length + bottomLayoutGuide.length)

不過,我認爲你是好得多使用自動佈局來管理你的滾動視圖的高度,而不是直接設置在。

+0

它仍然超越了tabbar.y ... –