设置一个专门管理cell高度的字典,用indexPath.row作为KEY,Value初始化为44。比如名字叫heightDict
2、
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
在这个方法中,indexPath.row作为key,从heightDict中拿到Value。这个value就是返回值。
3、
Cell中,每次下载更新图片前,先把cell高度保存起来。等下载更新完成,界面重新设置完毕后,比较当前cell高度和保存值是否相同。如果不同,就发delegate给ViewController,把当前cell高度和indexpath当作参数传递出去。
4、
ViewController中的delegate回调方法中,把indexPath.row作为key,将传入的Cell高度存入heightDict中,然后[tableView reloadData]
5完成
两种方式,看你的tableView是哪种样式。如果是UITableViewStylePlain,你可以将UITableViewCell的separator设置为UITableViewCellSeparatorStyleNone。将tableViewCell的背景色,contentView的背景色设置为透明,在contentView中添加一个UIImageView做为背景,使UIImageView的高度小于cell的高度,这样创建出的tableView就可以使每个cell之间看起来有一定间隔。这个间隔就是imageView的高度与cell的高度之间的差值。
如果你的tableView样式是UITableViewStyleGrouped,那就更好办了,因为group的tableView每个section都是隔开的,你只需要给每个section添加一行cell就行了。如果需要调整section之间的距离,你可以用UITableView的属性sectionHeaderHeight或sectionFooterHeight来设置。也可以用delegate方法来设置高度,heightForHeaderInSection或heightForFooterInSection
希望可以帮到你
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)