Swift - 使用导航栏和标签栏获取viewController的大小
问题描述:
我的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”
答
解决方法是也减去statusBar的高度。该死..
答
得到这个信息是使用布局指南的最简单方法。
let viewHeight = view.frame.height - (topLayoutGuide.length + bottomLayoutGuide.length)
不过,我认为你是好得多使用自动布局来管理你的滚动视图的高度,而不是直接设置在。
+0
它仍然超越了tabbar.y ... –
你会得到什么结果?你在哪里调用这个代码? – dmorrow
对不起,我添加了更多信息。 –