【发布时间】:2014-02-01 18:57:13
【问题描述】:
在故事板上的 UIViewController 中,我有一个 UITableView,它的大小专门设置为在一个部分中有两行,没有页眉或页脚,即高度为 88.0f。在某些情况下,我想添加第三行。所以在viewWillAppear:animated:(和其他逻辑位置)中,我将帧设置为高 44.0f 个逻辑像素:
CGRect f = self.tableView.frame;
self.tableView.frame = CGRectMake(f.origin.x, f.origin.y, f.size.width, f.size.height + 44.0f);
NSLog(@"%@",NSStringFromCGRect(self.tableView.frame));
没有争议;相当标准的调整大小代码,但是......它不起作用! tableView 的高度在视觉上不会改变。 NSLog 语句报告了我期望的高度 (132.0f)。这是因为我使用的是故事板吗?我不确定为什么这不起作用。
【问题讨论】:
-
故事板与此无关。另一方面,自动布局可能。你在用吗? (顺便说一句,“逻辑像素”我猜你的意思是“点”?)
-
您是否也在更改表格视图的数据源以包含第三行?你是否也在重新加载你的表格视图?
-
@Gavin - 是的,数据源报告了正确的计数。第三行出现了,但我必须滚动才能看到它,这不是我想要的。
-
@GuillaumeAlgis - 我没有明确使用 AutoLayout(我没有设置任何约束)。我不是通过使用情节提要“使用”自动布局吗?
-
自动布局是情节提要本身的一个选项。您可以为情节提要启用或禁用它,默认情况下它处于启用状态。但是你可以禁用它。
标签: ios iphone objective-c uitableview uistoryboard