我需要获得UITableView
的完整高度(即没有更多可滚动的高度)。有没有办法做到这一点?
我尝试过[tableView sizeThatFits:CGSizeZero]
,但它只返回0x0 CGSize
。
发布于 2010-03-27 12:11:26
尝试从UITableView的超类UIScrollView继承的contentSize
方法。但是,您可能会发现contentSize
返回了一个不正确或过期的值,因此您可能应该首先调用layoutIfNeeded
来重新计算表的布局。
- (CGFloat)tableViewHeight
{
[tableView layoutIfNeeded];
return [tableView contentSize].height;
}
发布于 2013-06-20 02:13:18
请尝试传递不同的CGSize参数,而不是CGSizeZero。sizeThatFits:方法使用该参数来计算其结果。尝试从执行该调用的任何类传入self.view.size。
发布于 2012-01-12 20:55:09
如果一个表视图的行数发生了变化,并且您确实需要知道包含上一次更改的表视图的内容大小,我并没有发现layoutIfNeeded方法实际上有什么帮助。
经过一些修改后,我知道了如何强制表视图重新计算其内容大小。在我的例子中,只需重置表视图框即可使其正常工作:
- (CGSize)com_lohika_contentSize
{
CGRect theFrame = self.frame;
self.frame = CGRectZero;
self.frame = theFrame;
[self layoutIfNeeded];
return [self contentSize];
}
https://stackoverflow.com/questions/2528073
复制相似问题