我在使用iOS5和Storyboards尝试以编程方式调整在UIViewController
内托管的UITableView
的高度时出现问题。 VC显示主/细节记录样式,UITableView
显示详细记录。根据显示的主记录的类型,屏幕底部可能需要一组按钮。如果按钮不需要,那么我想让UITableView
扩展它的高度以利用可用空间。我使用下面的代码:iOS - 以编程方式调整UITableView高度的大小
CGRect tableFrame = [tableListView frame];
if (blnApprovalRec == YES)
tableFrame.size.height = 127;
else
tableFrame.size.height = 170;
[tableListView setFrame:tableFrame];
该代码被称为每当主记录变化,包括在viewDidLoad
当屏幕首次加载。问题是,当VC加载时,UITableView
不使用指定的大小绘制 - 它只是使用IB的默认大小绘制。一旦用户更改主记录,以便重新加载表格,则一切正常,尺寸根据需要更改。我试过使用setNeedsDisplay
,setNeedsLayout
和reloadData
强制重绘,但没有一个能够工作。
在哪种方法你打上面的代码? – 2012-08-17 09:37:04
该代码是否放置在像viewDidLoad这样的方法中? – Rick 2012-08-17 09:37:07