2011-11-29 26 views
2

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

所以我可以在numbersOfRowsInSections中做到这一点?或者,在cellForRowAtIndexPath中执行它会更合适一些,请委托它是否是最后一个单元格,并且只在第一次时添加它。

如果tableView只是作为子视图添加,viewWill/DidAppear不会被调用,所以它们都不是真正的选择。

更新:我应该清除(根据第一次答案),它必须低于表,但在表中,而不是在超视图,不想使用页脚,它必须是一个添加子视图。而且我知道如何获取contentSize,我在问自己哪里是更好的地方来处理它。

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

+0

我从你的问题推断你的tableview被添加为子视图。所以你可以考虑在tableview下添加这个视图吗? –

+1

有关您的答案的更新问题 – ferostar

+0

您为什么不想使用页脚视图? – Simon

回答

4

将您想放置在桌子底部的视图分配给桌子的tableFooterView属性。

2

的UITableView有tableFooterView财产http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html

我想设置该属性赞同你的观点做你想要什么

+0

也检查出这个链接http://stackoverflow.com/questions/3231525/calculate-the-tables-contentsize-height-with-custom-cells-of-different-types-ip – Harish

+0

感谢您的链接,但我想做一些计算和事情,所以footerView不是我所需要的,而是在下面添加一个简单的视图,我问我的自我是在哪里知道contentSize的更好方法。 – ferostar

0

你能得到下面的代码

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

更新了有关您的答案的问题 – ferostar

+1

然后编写逻辑相应如果indexpath.row是最后一个对象然后在索引路径中对单元格执行任何操作 – Srinivas

+0

我说在我的问题的第二段中,您认为这是更好的方法那呢?谢谢! – ferostar

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; 

} 
Througth的
+0

更新了我的问题,我不想使用footerView,它必须是一个添加的子视图。 – ferostar

+0

@KartikArora请注意,您正在为某个部分添加页脚,但tableViews也有一个属性footerView,用于为tableView本身添加页脚。 – vikingosegundo

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

我认为这是你需要的。

+0

在发布之前你有没有尝试过?这是行不通的 – onmyway133

相关问题