Jon*_*ham 2 iphone resize frame uitableview ios
我正在尝试使用iOS5和Storyboard 以编程方式调整a中UITableView托管的高度UIViewController.VC显示主/详细记录样式,并UITableView显示详细记录.根据所显示的主记录类型,屏幕底部可能需要一组按钮.如果不需要按钮,那么我希望UITableView延长它的高度以利用可用空间.我正在使用以下代码:
CGRect tableFrame = [tableListView frame];
if (blnApprovalRec == YES)
tableFrame.size.height = 127;
else
tableFrame.size.height = 170;
[tableListView setFrame:tableFrame];
Run Code Online (Sandbox Code Playgroud)
每当主记录更改时(包括首次加载屏幕时)都会调用此代码viewDidLoad.问题是当VC加载时,UITableView不会使用指定的大小进行绘制 - 它只使用IB的默认大小进行绘制.一旦用户更改主记录,以便重新加载表,那么一切正常,大小会根据需要更改.我试着强制使用重画setNeedsDisplay,setNeedsLayout并reloadData但这些都不奏效.
Ank*_*kur 11
问题是当VC加载时,UITableView不会使用指定的大小进行绘制
加载表视图时会发生这种情况,但是UI没有刷新.请验证您是否在viewDidLoad或viewWillAppear中强行调用.
希望你的代码是单独的方法:
CGRect tableFrame = [tableListView frame];
if (blnApprovalRec == YES)
tableFrame.size.height = 127;
else
tableFrame.size.height = 170;
[tableListView setFrame:tableFrame];
Run Code Online (Sandbox Code Playgroud)
最初显示视图时,您可能具有主记录中的默认选定值.您可以在viewWillAppear中的调用函数中设置该值/实例.
你能显示方法名称和代码吗,你如何强有力地调用代码片段?
| 归档时间: |
|
| 查看次数: |
19586 次 |
| 最近记录: |