我有一个非滚动UITableView的UIScrollView.我将帧的大小设置UITableView为其内容大小.
当我添加一行时UITableView,我调用insertRowsAtIndexPaths:withRowAnimation:on UITableView.然后我调用一个方法来调整框架UITableView:
- (void)resizeTableViewFrameHeight
{
// Table view does not scroll, so its frame height should be equal to its contentSize height
CGRect frame = self.tableView.frame;
frame.size = self.tableView.contentSize;
self.tableView.frame = frame;
}
Run Code Online (Sandbox Code Playgroud)
看来虽然此时contentSize尚未更新.如果我根据行数和节数手动计算上述方法中的帧,则该方法可以正常工作.
我的问题是,我怎样才能UITableView更新它contentSize?我想我可以调用reloadData,这可能会这样做,但是当我只插入一个单元格时重新加载整个表似乎效率低下.