打个小广告:本人开发了一个宠物相关的App,欢迎大家下载体验~ 下载二维码: 进入正文: 之前发过一篇博客,也是对这两个的练习使用,但是之后遇到些问题,所以删除重写了.抱歉 Masonry是一款轻量级的布局框架,上手简单.本文只是对此的基本使用,具体可看以下两篇技术博客: iOS 源代码分析----Masonry:http://draveness.me/ios-yuan-dai-ma-fen-xi-masonry/ Masonry介绍与使用实践(快速上手Autolayout):http://ad…
之前记录过一篇UITableView+FDTemplateLayoutCell计算行高不成功的博客... 传送门:http://www.cnblogs.com/pengsi/p/6571311.html 今天小伙伴又在问我计算行高的问题,看了他的demo,发现他遇到和我之前一样的问题,于是修改,最后行高还是不能自适应.... 最后找到原因了: 竟然是pod管理的第三方框架UITableView+FDTemplateLayoutCell没有更新到最新,这应该是iOS10.3之前的一个bug,直接更…
现在很方便的计算单元格的行高大部分都是使用的第三方框架UITableView+FDTemplateLayoutCell,不知道你在使用这个框架的时候有没有遇到和我一样的问题,比如: 在这样计算cell的高度的时候崩溃了. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return [tableView fd_heightForCellWithIden…
直接上代码: 1:先自定义cell .h文件中 #import <UIKit/UIKit.h> #import "LBDNewMsgListModel.h" #import "MLEmojiLabel.h" @interface LBDMsgCenterCell : UITableViewCell<MLEmojiLabelDelegate, UIGestureRecognizerDelegate> @property (nonatomic,…
本文转载至  http://www.cocoachina.com/bbs/read.php?tid=299773 基本原理是通过缓存每个cell的高度,当tableview回调delegate的heightForRowAtIndexPath的时候,省去了计算cell高度计算,极大的提高了tableview的滑动体验. 因为 heightForRowAtIndexPath这个接口会在reloadData的时候,每个cell都会调用一次,同时滚动tableview的时候,cell从不可见到可见区域也…
由于项目年后要进行组件化,考虑到如果公司内部实现一些私有的组件,不对外公开,而又想在不同项目中使用,该怎么办呢? 使用Cocoapods制作私有库就完美的解决了这个问题.下图就是使用私有库带给我们的好处: Cocoapods是如何实现查找第三方库呢?如下图: 从图中,可以看到通过.podspec可以找到我们想要的第三方库,那么.spec是什么呢?如下: Pod::Spec.new do |s| s.name         = "JSPatchtest" s.version     …
由于项目年后要进行组件化,考虑到公司内部实现的一些私有组件,不对外公开,而又想在不同项目中使用,该怎么办呢?由于cocoapods有了强大的功能,可以自己创建podspec,更可以设置私有的库.那么利用cocoapods来管理公共组件就很方便了. 使用Cocoapods制作私有库就完美的解决了这个问题.下图就是使用私有库带给我们的好处: Cocoapods是如何实现查找第三方库呢?如下图: 从图中,可以看到通过.podspec可以找到我们想要的第三方库,那么.spec是什么呢?如下: Pod::…
我们知道,界面布局可以用Storyboard或Xib结合Autolayout实现,如果用纯代码布局,比较热门的有Masonry.SDAutoLayout,下面的简单demo,采用纯代码布局,实现不定高tableview. 实现方式:Masonry + FDTemplateLayoutCell 先上图: 其中:1和2都是UILabel,内容不固定,所以高度也不固定,3是view,可用作点赞和评论或其他用途. 话不多说,上代码: 1.准备工作 pods集成: pod 'UITableView+FDT…
学iOS也有几个月了.一直都是纯代码开发,菜鸟入门,到今天还处在Frame时代.刚好近期项目在提审.有点时间能够学学传说中的AutoLayout.事实上.就是android的相对布局(RelativeLayout),没了解之前一直认为非常神奇,今天学习了一下,才发现AutoLayout也不是那么神奇不可触碰. 在frame时代,一切数据在我们手中都是一个个坐标,我们所要做的,就是用数据反推控件的大小,然后显示出来.只是,自从i6出了之后,屏幕的宽度也不再是固定的了.AutoLayout是大势所趋…
基本应用如果你有self-satisfied cell,那么你应该做的是:#import "UITableView+FDTemplateLayoutCell.h"- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{    return [tableView fd_heightForCellWithIdentifier:@"reuse ide…