比如:
1:一个大的tableview
2:最上层是自定义的一个cell,里面是一个scrollview。
。。。
有图片情况下的view

没有图片情况下的view

------解决方案--------------------
这主要取决于你计算得到的cell的高度。我们知道UItableview 的每一行高度的显示,会调用
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath :(NSIndexPath *)indexPath
来得到返回的cell的高度。如果都是一样的高度很好处理,统一返回值就可以了,像上图这样的就需要计算得到了。
那么这里就涉及到一个动态修改cell高度的问题。这个问题也好解决,你只需要在你的自定义cell中能精确计算出当前cell 的高度,并能被外部访问。这样你就可以在
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
中得到这个自定义cell返回的高度,然后根据得到的这个高度重置cell 的frame
但在取cell高度时你就可以这样写了
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath :(NSIndexPath *)indexPath {
UITableViewCell *cell =[self tableView:tableView cellForRowAtIndexPath:indexPath];
return cell.frame.size.height;
}