我正在创建UIViewController
的自定义子类(没有nib),我正在推送到UINavigationController
堆栈。在我的UIViewController
子类(loadView
?viewDidLoad
?init
?初始化期间的某个地方?我想在视图的底部添加UITabBar
子视图。问题在于找出Y坐标。据我所知,视图在loadView
,viewDidLoad
和init
之后的某个位置调整大小,因此我无法获得调整大小的高度以便计算其Y坐标UITabBar。
找出包含视图高度的正确方法是什么,以便我可以将UITabBar固定在底部?
答案 0 :(得分:1)
您需要做的是将UITabBar
设置到视图的底部,然后告诉它留在那里如果超级视图的边界发生变化。
这不是太棘手。例如,在viewDidLoad
中将标签栏正常分配/初始化,并将其定位如下:
tabBar.frame = CGRectMake(self.view.frame.size.height-tabBar.frame.size.height, 0,
tabBar.frame.size.height, tabBar.frame.size.height);
[self.view addSubview:tabBar];
...将栏添加到视图的底部。
到目前为止一直很好:你的问题是当superview改变高度时,tabbar不会保持锁定在底部。为了解决这个问题,我们设置了一个自动调整模板:
tabBar.autoresizingMask = UIViewAutoresizingMaskTopMargin;
...这将有效地将栏锁定在超级视图的底部。