以下代码:
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:
最佳答案
您正试图将 TableView 作为另一个 View 的 subview 插入。然后你尝试指定一个框架。 可能发生的情况是,即使您指定了框架,您的表仍然是另一个 View 的 subview ,然后它将受您最初设置的任何自动调整大小规则的约束。那么您是否检查过显式设置框架是否与表格自动调整掩码不冲突? 特别是,您可以尝试通过为表设置自动调整掩码值
UIViewAutoresizingNone
(建议在 viewDidLoad 方法中执行此操作)。
关于iphone - 更改 View 大小后 tableview 消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4788256/