UINavigationBar下的多个UITableView

时间:2013-11-21 14:59:57

标签: ios ipad uitableview ios7 uinavigationbar

我正在使用带有部署目标5.1的iOS 7的Storyboard开发iOS应用程序。

我在一个视图控制器中有4 UITableView个,都有1/3宽度和100%高度的屏幕。一个人总是在屏幕外(他们不时地左右移动)。我希望它们显示在UINavigationBar提供的UINavigationController下。

我已在Storyboard中设置了所有内容,但XCode格式化只留下大多数表格(格式化我的意思是UITableView的内容从UINavigationBar的末尾开始。其他表格开始显示{{1}下的内容1}}。

我的视图控制器中没有设置表格的代码,只有UINavigationBarUITableViewControllerDataSource方法。

xcode storyboard

正如您在屏幕截图中看到的那样,它甚至不显示原型表格单元格,因为它们位于导航栏下。

如何设置此权限(在故事板中或以编程方式)?

我希望内容显示在导航栏下方,但也要从栏下方开始,只有在向下滚动时才会进入。

2 个答案:

答案 0 :(得分:0)

尝试在视图控制器中使用以下代码。

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;

或者在table.tableHeaderView中放置透明视图。该视图的高度等于导航栏的高度。

答案 1 :(得分:0)

看到这个问题只适用于ios7,我可以尝试建议一个选项:

-first:

enter image description here

点击UIViewController上的故事板,其中包含UITableView,你可以看到我上传的图片,取消选中“Extend Edges”旁边的“下边栏”。

如果这不起作用,(这不是半透明的NavigationBar)尝试:

-(void)viewWillAppear:(BOOL)animated {

  NSString *ver = [[UIDevice currentDevice] systemVersion];
int ver_int = [ver intValue];

if (ver_int < 7) {

  }
else {
      self.navigationController.navigationBar.translucent = NO;
  }
}