UITabBar与内容视图重叠。如何访问内容视图以更新其框架?

时间:2017-03-03 21:28:11

标签: ios uitabbarcontroller

我已经实现了一个UITabBar,它根据UITabBarController正在观察的属性改变其高度。

当标签栏的高度增加时,我会拨打sizeToFit,然后setNeedsLayoutlayoutIfNeeded。在willLayoutSubviews内,我更改了内容视图的框架高度,我相信它是self.selectedViewController.view,然而,更改并没有固定,并且在某些时候视图会被设置回高度的屏幕。最终结果是内容视图延伸超过标签栏,标签栏与内容重叠。

但是,当我切换标签/视图控制器时,内容视图会正确调整大小。我该如何纠正这个问题?

1 个答案:

答案 0 :(得分:0)

也许问题是你正在调用layoutIfNeeded来刷新

中的UI
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
}

而不是这种方法:

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
}