何时知道UITableView的contentSize

时间:2011-11-29 12:22:59

标签: iphone ios uitableview

我想在UITableView的底部添加一个子视图,为了做到这一点,我需要知道表视图的contentSize属性。但我正在考虑这样做的最好方法,我的意思是,何时使用哪种方法;当我创建表格视图时,我仍然不知道将有多少单元格。

我可以在numbersOfRowsInSections中执行此操作吗?或者更适合在cellForRowAtIndexPath中执行它,询问委托是否是最后一个单元格并在那一刻添加它,只是第一次。

如果只将tableView添加为子视图,则不会调用viewWill / DidAppear,因此它们都不是真正的选择。

UPDATE :我应该清楚(根据第一个答案),它必须在表格之下但在表格中,而不是在superView中并且不想使用页脚,它必须是添加的子视图。我知道如何获得contentSize,我问自己哪个地方更适合处理它。

更新2 :我已经说过了,回答下面的评论,但我想我也必须把它放在这里因为这引发了投票。我只是不关心页脚视图。页脚视图不是这里的问题,我不想使用它,我已经找到了如何手动添加子视图。我正在询问,正如问题的标题所说,在什么时候,以什么方式,最好是要求表视图的contentSize。

5 个答案:

答案 0 :(得分:4)

将要放置在表格底部的视图分配到表格的tableFooterView属性。

答案 1 :(得分:2)

UITableView有一个tableFooterView属性http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html

我认为在您的视图中设置此属性可以完全按照您的需要进行操作

答案 2 :(得分:2)

-(float)getTableViewHeight
{
[self.tableView layoutIfNeeded];
return self.tableView.contentSize.height;
} 

我认为这是你需要的。

答案 3 :(得分:1)

try this one
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{

//you can add your view in this method. with return key
//like
return view;

}

答案 4 :(得分:0)

您可以通过以下代码

NSLog(@"%f",YourTableObject.contentSize.height);