Ios UINavigationBar下的多个UITableView
我正在使用故事板开发iOS应用程序,使用iOS 7,部署目标为5.1 我在一个视图控制器中有4个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下显示内容 我
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噢,我没有意识到你希望导航栏是半透明的。。