ios - 表格 View 的高度与另一个不同,即使它们以相同的方式初始化

标签 ios objective-c ipad uitableview uinavigationcontroller

我现在正在构建一个使用 UISplitViewController 的 iPad 应用程序在详细 View Controller 上,我想初始化两个 UITableView .然而,由于一些奇怪的原因,即使我尝试以相同的方式初始化这两个 TableView ,也只有第二个 TableView 被正确初始化。

这是我初始化 TableView 的代码:


_t1 = [[UITableView alloc] initWithFrame:CGRectMake(30, 400, 300, 600)];
_t1.delegate = self;
_t1.datasourse = self;
[self.view addSubview:_t1];

_t2 = [[UITableView alloc] initWithFrame:CGRectMake(360, 400, 300, 600)];
_t2.delegate = self;
_t2.datasourse = self;
[self.view addSubview:_t2];

我将这两个 TableView 设置为 @property (strong, nonatomic)在我的 View Controller 的头文件中。我认为到目前为止我还没有犯过任何错误。

但是,这里是生成的详细 View Controller 的图像。在表格 View 顶部的一些空间被填充后,第一个表格 View 开始填充它的单元格。看起来冗余空间的高度与导航栏的高度相同,但是当我尝试输出 self.view 时在 addSubview: 之前上面代码的方法,我得到了相同的结果说self.view = <UIView: 0x10a3dd920; frame = (0 0; 768 1024); autoresize = W+H; layer = <CALayer: 0x10a3dd800>> .所以,我认为它被添加到同一个父 View 中。

enter image description here

那我错过了什么?我该如何解决这个问题?我怀疑它与导航 Controller 或 Split View Controller 有关,但不确定。

我使用 iOS 7.1 和 Xcode 5.1。

最佳答案

也许这会解决你的问题

self.automaticallyAdjustsScrollViewInsets = NO;

我不确定该属性的用途是什么,但它肯定会混淆很多 UIScrollView 和 UITableView。

我没有找到很多文档,但我的理论是通常您有一个 uitableview 或一个 uiscrollview 作为您 View 的第一个 subview 。这个 subview 通常占据你 View 的整个框架。在那种情况下,我想您不必为不同的顶部栏(半透明、不透明、ios6)而烦恼。但这仍然是很多假设,我认为这不应该是默认行为。

关于ios - 表格 View 的高度与另一个不同,即使它们以相同的方式初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22478451/

相关文章:

ios - 子类化 UICollectionReusableView : reference to "content area"

iOS:当我在调试过程中看到奇怪的计算值时,CGRect 在做什么?

ios - 单击 UITabBarController 时的自定义操作

html - 仅在 Ipad 上随机换行

iphone - 调用 [myStringrelease] 不会减少 [myStringretainCount]

ios - "Launch"并放下一个 UIView

html - Bootstrap 背景图像无法在 iPhone 上调整大小

objective-c - NSStream 接收数据失败

ios - 在 leftCalloutAccessoryView Map Xcode 中显示不同的图像

ios - iOS 8 发布后,已发布的应用程序运行异常