Swift - 获取带导航栏和标签栏的viewController的大小

时间:2017-04-04 19:01:22

标签: ios swift

我的viewController有导航栏和标签栏。 我需要在减去导航和标签栏的大小后找出可用空间。 我试过了:

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

但它不起作用...... 我做错了吗?

EDITED: 抱歉缺少信息。 我想在导航和标签栏之间嵌入UIScroll视图。等式返回的高度大于可用空间。

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

titleView超越" tabbar.y"

2 个答案:

答案 0 :(得分:0)

获取此信息的最简单方法是使用布局指南。

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

但是,我认为您最好使用Autolayout来管理scrollView的高度,而不是直接设置。

答案 1 :(得分:0)

解决方案是减去statusBar的高度。该死..