问题引出:
在iOS7、iOS8下使用AutoLayout进行布局自定义CELL 时候,调用动态计算tableview cell 高度方法会抛出不能满足静态约束的错误。
动态计算cell高度通过 CGFloat height = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize].height API返回。
问题解决:
需要在-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier方法里设置 self.contentView.translatesAutoresizingMaskIntoConstraints = NO;
经过测试,iOS6下不需要设置上面属性,否则会抛出异常。
http://stackoverflow.com/questions/19132908/auto-layout-constraints-issue-on-ios7-in-uitableviewcell