iphone - 更改 View 大小后 tableview 消失

标签 iphone objective-c ipad uitableview positioning

以下代码:

self.dataTableViewController = [[DataTableViewController alloc] initWithStyle:UITableViewStylePlain];
CGRect tableViewRect = self.dataTableViewController.view.frame;
tableViewRect.origin.x = 0.0f;
tableViewRect.origin.y = 91.0f;
//tableViewRect.size.width = 320.0f;
//tableViewRect.size.height = 613.0f;
self.dataTableViewController.view.frame = tableViewRect;
[self.view addSubview:self.dataTableViewController.view];

我的 tableviewcontroller 出现了,一切正常,它也位于正确的位置。 但是我的 table 的大小不正确。如果我取消对 size 属性的两行代码的注释,tableview 将从我的 uiview 中消失,我不知道为什么。

一些想法?

//编辑:

好吧,有一个奇怪的行为。 显示我的 tableview 的 viewcontroller 在 splittableviewcontroller 中(左侧)

self.contentSizeForViewInPopover = CGSizeMake(320.0, 704.0); 对我的 popovercontroller 没有任何影响。我将其保留为默认值,来自 splittableviewcontroller 模板。如果我处于纵向模式,它总是全高。

取消注释 tableViewRect.size.height = 613.0f; 有效,取消注释宽度则不行。将我的高度设置为 613px 我得到一个 313px 高的 tableview。什么!?将我的高度设置为 913.0f 可行,横向和纵向都很完美。我不明白的是,在风景中它应该只有 613 像素高。我想将弹出窗口的高度设置为与横向 View Controller 相同的高度,以便我的 tableview 始终为 613 高。不知道那里发生了什么。

我的 tableview 有 913px:

landscape

portrait

最佳答案

您正试图将 TableView 作为另一个 View 的 subview 插入。然后你尝试指定一个框架。 可能发生的情况是,即使您指定了框架,您的表仍然是另一个 View 的 subview ,然后它将受您最初设置的任何自动调整大小规则的约束。那么您是否检查过显式设置框架是否与表格自动调整掩码不冲突? 特别是,您可以尝试通过为表设置自动调整掩码值

UIViewAutoresizingNone
(建议在 viewDidLoad 方法中执行此操作)。

关于iphone - 更改 View 大小后 tableview 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788256/

相关文章:

ios - UIBarButtonItem为蓝色,但应为灰色

ios - Urbanairship 代表不工作

ios - 多任务处理时如何获取屏幕尺寸?

iphone - NSOperationQueue、weakSelf 和 block 的问题

iphone - 如何使用 NSXMLParser 解析此 xml 数据

ios - 在 arc 中调整 UIImage 大小时发生内存泄漏

objective-c - block 不响应外部属性更改

iphone - iPhone/iPad 快速开发技巧

iphone - Cocoa 开发 - 从设备运行时加载本地 XML 文件时遇到问题

iphone - UIActionSheet 按钮索引