常用工具、开发效率A知识点2开发总结

Masonry和FDTemplateLayoutCell搭配使用

2016-05-25  本文已影响7110人  yoli_az

一、Masonry

1.1 Masonry是快速手写Autolayout的布局框架,项目地址是https://github.com/SnapKit/Masonry 使用Masonry可以极大的提高手写布局的效率。

1.2 通过Masonry可以使用如下简单易懂的方式手写约束

[self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
    make.leading.equalTo(10);
    make.top.equalTo(10);
    make.width.height.equalTo(50);
}];

https://github.com/SnapKit/Masonry/blob/master/README.md 中有详细的使用介绍可以参考。

二、UITableView+FDTemplateLayoutCell

2.1 UITableView+FDTemplateLayoutCell是自动进行UITableViewCell高度计算的,项目地址:https://github.com/forkingdog/UITableView-FDTemplateLayoutCell, 原理介绍的中文地址为http://blog.sunnyxx.com/2015/05/17/cell-height-calculation/

2.2 计算Cell高度非常简单仅需要heightForRowAtIndexPath中的一行代码。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return [tableView fd_heightForCellWithIdentifier:kYLLayoutTableViewCell cacheByIndexPath:indexPath configuration:^(YLLayoutTableViewCell *cell) {
        [cell setFeed:[self.viewModel.feedArray objectAtIndex:indexPath.row]];
    }];
}

三、搭配使用

通过两者结合,在UITableView中使用UITableView+FDTemplateLayoutCell 计算Cell高度,使用Masonry进行autoLayout布局,能够避免高度计算的复杂,Demo地址https://github.com/yolii/Masonry-FDTemplateLayoutCell

masonry.png

四、可能会踩的坑

同时在使用过程中也有一些问题需要注意,避免踩坑。这些问题中有些是高度计算的问题,有些则是autolayout的要求。


[self.tableView registerNib:[UINib nibWithNibName:@"kYLLayoutTableViewCell" bundle:nil]

上一篇下一篇

猜你喜欢

热点阅读