我的应用程序以tabBarController作为主控制器,我需要从任何视图控制器中获取tabBar的高度,以便计算其余元素的正确位置。如何通过编程方式获取它?谢谢。
我的应用程序以tabBarController作为主控制器,我需要从任何视图控制器中获取tabBar的高度,以便计算其余元素的正确位置。如何通过编程方式获取它?谢谢。
我强烈建议您设置视图层次结构,使外部视图由容器视图自动调整大小,然后更具体的内部视图可以检查外部布局视图的边界并在适当的时间进行适当的布局。
然而,如果您的要求使这不可能(或者极其复杂,确实需要为每个元素指定点),您可以使用UIViewController
的tabBarController
属性获取选项卡栏的高度:
// from inside the view controller
CGSize tabBarSize = [[[self tabBarController] tabBar] bounds].size;
如果要使用Swift,请使用以下方法:
let tabBarHeight = tabBarController?.tabBar.bounds.size.height ?? 0
如果tabBarController不为nil,则返回tabBar高度,否则返回0。