动态更改UITableView高度

时间:2014-05-12 14:21:36

标签: ios uitableview uiscrollview

在我的应用中,我有一个UITableView,其UIView位于其框架上方:

 -----------
|  UIView   |
 -----------
|           | 
|           |
|UITableView|
|           |
|           |
 -----------

当我向上滚动tableView时,UIView被推出屏幕,当tableView的内容向下滚动时,UIView被推回屏幕。 UIView的所有移动都以与用户滚动相同的速度发生。因此,如果用户滚动10px,则UIView仅移动10px。

我遇到的问题是调整tableView的大小。我希望它根据UIView的y位置调整大小,以便在那之间永远不会有任何空间。

UIView的移动工作正常,但tableView的大小调整完全没有。我真的冻结了主线程,它非常前卫。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{

    Some code for moving the UIView...

    UpdateFrameY(_tableViewController.tableView, diff);
    UpdateFrameHeightOnDiff(_tableViewController.tableView, diff);
}

我有更好的方法吗? 我实际上是试图从FB应用程序复制此行为。那里的工作非常顺利。 非常感谢!

1 个答案:

答案 0 :(得分:0)

请勿更改uitableview高度。只需更改其内容插入内容并将UIView放在UITableView上(因此UIView和UITableView将具有相同的框架原点);你会有一些性能改进。