Ios 获取不带滚动条的UITableView的高度
我需要获得Ios 获取不带滚动条的UITableView的高度,ios,iphone,uitableview,cocoa-touch,uikit,Ios,Iphone,Uitableview,Cocoa Touch,Uikit,我需要获得UITableView的完整高度(即没有更多可滚动的高度)。有没有办法做到这一点 我尝试了[tableView sizeThatFits:CGSizeZero],但这只返回0x0CGSize尝试contentSize方法,该方法继承自UITableView的超类UIScrollView。但是,您可能会发现contentSize返回的值不正确或过期,因此您可能应该首先调用layoutIfNeeded来重新计算表的布局 - (CGFloat)tableViewHeight { [ta
UITableView
的完整高度(即没有更多可滚动的高度)。有没有办法做到这一点
我尝试了
[tableView sizeThatFits:CGSizeZero]
,但这只返回0x0CGSize
尝试contentSize
方法,该方法继承自UITableView的超类UIScrollView。但是,您可能会发现contentSize
返回的值不正确或过期,因此您可能应该首先调用layoutIfNeeded
来重新计算表的布局
- (CGFloat)tableViewHeight
{
[tableView layoutIfNeeded];
return [tableView contentSize].height;
}
如果一个表视图的行数发生了变化,并且您确实需要知道包含上次变化的表视图的内容大小,那么我没有发现layoutifneedd方法实际上有帮助 经过一点修改,我知道了如何强制表视图重新计算其内容大小。在我的例子中,重置表视图框架就足以使其工作:
- (CGSize)com_lohika_contentSize
{
CGRect theFrame = self.frame;
self.frame = CGRectZero;
self.frame = theFrame;
[self layoutIfNeeded];
return [self contentSize];
}
尝试传入不同的CGSize参数,而不是cgsizero。sizeThatFits:方法使用该参数计算其结果。试着从打电话的任何班级输入self.view.size。必修swift3.0和2.2回答
var tableViewHeight: CGFloat {
tableView.layoutIfNeeded()
return tableView.contentSize.height
}