我创建了一个自定义标签栏控制器。它的工作方式与UITabBarController
非常相似,但UITabBar
的布局更为高级。
如何调整自定义标签栏控制器中显示的视图的底部内容插入?例如,如果我在自定义标签栏控制器中显示UITableView
,我可以手动调整内容插件。
self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 49, 0);
self.tableView.scrollIndicatorInsets = UIEdgeInsetsMake(0, 0, 49, 0);
但是,如果我将另一个视图推送到此表视图(如集合视图),则问题会变得更加复杂。有没有办法让这些视图自动调整其内容插入内容,就像在默认的UITabBarController
实现中一样?
答案 0 :(得分:2)
我们最近在我们的应用程序中做了类似的事情,最终只是拥有一个容器视图,其中包含我们将要在控制器中显示的任何内容。这种方法的优点是您可以向容器视图添加任何您想要的约束(例如容器和标签栏之间的底部填充)。
Container view with bottom padding to tab bar.
编辑:误解了问题
您只需检查内容视图是否能够设置SetContentInset:
- (void)setContentInset:(UIEdgeInset)insets {
if ([self.contentView respondsToSelector:@selector(setContentInset:)]) {
[self.contentView setValue:insets forKey:@"contentInset"];
}
}