不等高cell搭建(二)】的更多相关文章

  一.commentView模块搭建 commentView样式分为两种     1.xib搭建界面   1.1 因为评论的样式大体上一样,我们可以用同一个xib来处理   1.2 最热评论   用一个label来搭建       1.3 下面的内容不一样      1.3.1 文本样式的评论,下面也用一个label搭建就可以了           label约束设置为左右和上面固定间距,这样,高度会随着内容缩放,前提是设置label为0行        1.3.2 声音样式评论      …
一.搭建界面 1.界面分析 分析界面的层次结构,分析界面应该用什么控件来搭建 2.界面层次结构 分析之后,我们可以把这个界面分为四个模块(topView middleView commentView bottomView) 这种复杂的界面,我们一般称为:不等高cell 3.界面搭建方式 分析发现,界面大部分是不能确定的(文字高度,有没有图片,评论) 所以我们采用纯代码的方法来搭建界面 但是复杂的界面我们划分过之后,有些小模块里面的内容是固定的 这些固定的小模块我们可以采用xib来搭建 4.有些模…
一.纯代码自定义不等高cell 废话不多说,直接来看下面这个例子先来看下微博的最终效果 首先创建一个继承UITableViewController的控制器@interface ViewController : UITableViewController创建一个cell模型@interface XMGStatusCell : UITableViewCell再创建微博的数据模型@interface XMGStatus : NSObject 纯代码自定义不等高cell 和前面等高cell的思路是一样的…
1.iOS8之后利用storyBoard或者xib自定义不等高cell: 对比自定义等高cell,需要几个额外的步骤(iOS8开始才支持) 添加子控件和contentView(cell的contentView)之间的间距约束(需要代码控制约束) 设置tableViewCell的真实行高和估算行高 // 以下两行代码就被苹果称为self-sizing技术,可惜只能在iOS8及其之后应用 // 告诉tableView所有cell的真实高度是自动计算(根据设置的约束来计算) self.tableVie…
一.界面搭建   1.确定开发模式      如果界面是固定的,可以用xib      界面的一些内容不固定,就用纯代码      cell用什么方式去开发(我们采用纯代码和xib结合的方式)   2.划分层次结构      2.1 怎么划分?           按照功能划分           按照隐藏效果:在某些条件下,一些控件要一起隐藏,就可以放在同一模块中(前提是这些控件集中在一起)        2.2 分析界面发现cell的middleView和commentView不确定要不要显…
数据模型.plist解析这里就不过多赘述. 错误思路之一: 通过在heightForRowAtIndexPath:方法中调用cellForRowAtIndexPath:拿到cell,再拿到cell的子控件的最大Y值的方法是不可取的.会出现死循环,因为cellForRowAtIndexPath:方法中会调用heightForRowAtIndexPath:方法.错误思路之二: 在layoutSubviews方法中,根据子控件的高度,计算cell的高度.先初始化一个变量为0为cell的高度,计算出来所…
课题一:如何计算Cell高度 方案一:直接法(面向对象) 直接法,就是把数据布局到Cell上,然后拿到Cell最底部控件的MaxY值. 第一步:创建Cell并正确设置约束,使文字区域高度能够根据文字内容多少自动调整 添加好约束 第二步:再给这个Cell添加点别的东东,就叫这个东东BottomCub了.为Cub添加好约束. 随便添加点什么 第三步:为这个Cell写一个返回Cell高度 - 也就是BottomCub最大Y值的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15…
课题一:如何计算Cell高度 方案一:直接法(面向对象) 想知道妹纸爱你有多深?直接去问妹纸本人吧! 嗯!Cell也是一样的,想知道cell到底有多高?直接问Cell本人就好了.直接法,就是把数据布局到Cell上,然后拿到Cell最底部控件的MaxY值. 第一步:创建Cell并正确设置约束,使文字区域高度能够根据文字内容多少自动调整 第一步 - 添加好约束.gif 第二步:再给这个Cell添加点别的东东,就叫这个东东BottomCub了.为Cub添加好约束. 第二步 - 随便添加点什么.gif…
不等高的cell 给模型增加frame数据 所有子控件的frame cell的高度 @interface XMGStatus : NSObject /**** 文字\图片数据 ****/ // ..... /**** frame数据 ****/ /** 头像的frame */ @property (nonatomic, assign) CGRect iconFrame; // ..... /** cell的高度 */ @property (nonatomic, assign) CGFloat c…
一.纯代码自定义等高cell 首先创建一个继承UITableViewCell的类@interface XMGTgCell : UITableViewCell在该类中依次做一下操作1.添加子控件 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { if (self = [super initWithStyle:style reuseIdenti…