我的故事板的结构是:如何设置表格视图单元格的位置,因为选项卡栏阻止单元格?
A - B - C,d,E
a是导航控制器 b是标签栏控制器 C,d,e为标签视图 c是一个包含大约十个单元的表视图控制器。 当我向上滚动时,最后一个单元格和标签栏的位置重叠。 如何设置最后一个单元格的位置,以便它可以放置标签栏,以便我们可以触摸它? 谢谢。
我的故事板的结构是:如何设置表格视图单元格的位置,因为选项卡栏阻止单元格?
A - B - C,d,E
a是导航控制器 b是标签栏控制器 C,d,e为标签视图 c是一个包含大约十个单元的表视图控制器。 当我向上滚动时,最后一个单元格和标签栏的位置重叠。 如何设置最后一个单元格的位置,以便它可以放置标签栏,以便我们可以触摸它? 谢谢。
将此添加到您的tableview控制器中,主要目标是减少桌面高度。
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
CGFloat tabBarHeight = self.tabBarController.tabBar.frame.size.height;
CGRect frame = self.tableView.frame;
frame.size.height -= tabBarHeight;
self.tableView.frame = frame;
}
上面的代码将导致灰色的tabBar。每次切换选项卡都会降低表格高度,因此将上面的代码移动到viewDidLoad,并将tabBar半透明设置为NO。
解决方案1:
CGFloat tabBarHeight = self.tabBarController.tabBar.frame.size.height;
CGRect frame = self.view.frame;
frame.size.height -= tabBarHeight;
self.view.frame = frame;
self.tabBarController.tabBar.translucent = NO;
或者,您可以配置的tableView在viewDidLoad中contentInset。
解决方案2:
self.tableView.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, CGRectGetHeight(self.tabBarController.tabBar.frame), 0.0f);
是的,这些代码可以解决我的问题。但奇怪的事情发生,标签栏背景变灰,而我改变到另一个标签查看标签栏背景是白色的? – leizh007 2014-10-08 00:22:41
问题是TableView高度不正确。 您必须设置TableView的约束条件,以使tableView的底部位于TabBar的开头。
你的意思是我设置底部单元格的高度足够大,因此它可以在tabbar的开头?但它有点奇怪,因为单独的行远远落后于底部单元格的背景。 – leizh007 2014-10-07 15:31:17
否表格视图高度太大。你必须缩短表格视图。 – 2014-10-07 15:33:31
在故事板,选择表视图,然后Xcode中,编辑菜单的顶部菜单栏上,去脚,底部空间的SuperView – gabbler 2014-10-07 15:31:30
当我选择表格视图,超级查看项目的底部空间不能被选择 – leizh007 2014-10-07 15:41:11