RT,先上图,第一张是IOS7.1下得界面。第二张是IOS8的界面,虚拟机都是用得4S
第二张是我想要的效果,但是到7.1版本上会有空白,感觉是Cell中contentView没约束好?
下面再补上cell的XIB图,view和相关知识都是固定了宽度
图片描述
"<NSLayoutConstraint:0x7be2e870 V:[UILabel:0x7be29290]-(-0.5)-| (Names: '|':UITableViewCellContentView:0x7be298c0 )>",
"<NSLayoutConstraint:0x7be2e930 V:[UILabel:0x7be29290]-(0)-| (Names: '|':UITableViewCellContentView:0x7be298c0 )>"
发现运行时有这种提示,是不是说约束有问题?
以前的做法。
以前的做法是这样的,ios7里封装了一个可以计算label高度的方法(ios6你可以查一下哈)。
我每次都是根据label的文字来计算cell高度然后在
- (CGFloat)tableView:(UITableView *)atableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
方法里返回这个cell的高度。可行,但是代码量比较多。
新方法-利用自动布局的方式。
题主可以自己看一下。我也尝试了一下,因为在尝试手写约束还没有太明白我就不贴代码了。

最终的效果是
但是第一行的label无法自适应高度。
如果你是利用我第二种办法出现这种问题的话,那么是约束没设置好的问题,你的编译器也提醒你了。