Ios UINavigationBar下的多个UITableView

Ios UINavigationBar下的多个UITableView,ios,ipad,uitableview,ios7,uinavigationbar,Ios,Ipad,Uitableview,Ios7,Uinavigationbar,我正在使用故事板开发iOS应用程序,使用iOS 7,部署目标为5.1 我在一个视图控制器中有4个UITableViews,都有1/3宽和100%高的屏幕。一个总是在屏幕外(他们不时地左右移动)。我希望它们显示在UINavigationController提供的UINavigationBar下 我已经在故事板中设置了所有内容,但是XCode只格式化了最左边的表(格式化是指UITableView的内容从UINavigationBar的末尾开始。其他表开始在UINavigationBar下显示内容 我

我正在使用故事板开发iOS应用程序,使用iOS 7,部署目标为5.1

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

我已经在故事板中设置了所有内容,但是XCode只格式化了最左边的表(格式化是指
UITableView
的内容从
UINavigationBar
的末尾开始。其他表开始在
UINavigationBar
下显示内容

我没有任何用于设置表的代码,只有视图控制器中的
UITableViewControllerDataSource
UITableViewControllerDelegate
方法

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

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

如何正确设置(在故事板中或以编程方式)


我希望内容显示在导航栏下方,但也希望内容从导航栏下方开始,并仅在向下滚动时进入导航栏下方。

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

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

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

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

-第一:

单击包含UITableView的UIViewController上的故事板,因为您可以看到我上传的图像,请取消选中“扩展边”旁边的“顶栏下”

如果这不起作用,(这是为了不使半透明导航栏)请尝试:

-(void)视图将显示:(BOOL)动画{
NSString*ver=[[UIDevice currentDevice]systemVersion];
int ver_int=[ver intValue];
如果(内部版本<7){
}
否则{
self.navigationController.navigationBar.translucent=否;
}
}

可以发布一些屏幕截图吗?屏幕截图应该是故事板和正在运行的应用程序的截图。另外,您有什么代码(如果有的话)设置视图并滚动视图?这就是图片中的情况,ios7之前的版本也会出现这种情况?@Ilario No,在iOS<7上它工作得很好。当然它工作得很好,但不是我想要的方式。我确实希望内容显示在栏下,但也希望内容从栏下开始,只有在向下滚动时才显示在栏下。我在我的应用程序中检查了它此外,导航栏不是透明的,但我可以清楚地看到它下面模糊的单元格。很好,将透明视图放在第一个单元格的顶部可以很好地工作,尽管这是一个令人讨厌的解决办法。此视图的高度应该是
64
,并且必须记住在Storyboa中的
iOS 6/7细节中设置
-64
ΔHeight
rd.和@Evgen Bodunov answer中的一样,这并不能解决我的问题。我确实希望内容显示在栏下,但也希望内容从栏下开始并显示在栏下,只有在向下滚动时才显示。@CrazyyyyyOghter噢,我没有意识到你希望导航栏是半透明的。。