【发布时间】:2014-10-31 04:14:32
【问题描述】:
我在 UITableViewCell 添加一个视图,并使用 mas_makeConstraints (Masonry)
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kMASCellReuseIdentifier forIndexPath:indexPath];
UIView * view =[[UIView alloc]init];
view.backgroundColor=[UIColor redColor];
[cell addSubview:view];
[view mas_makeConstraints:^(MASConstraintMaker *make){
make.right.equalTo(cell).offset(-20);
make.centerY.equalTo(cell);
make.width.height.equalTo(@20);
}];
但它不起作用。
错误信息: 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“执行 -layoutSubviews 后仍需要自动布局。 UITableViewCell 的-layoutSubviews 实现需要调用super。'
请帮帮我! @.@
【问题讨论】:
-
您应该将视图添加到单元格的 contentView (并且也应该对其进行约束)而不是单元格。最好将此代码放在单元格的 init 方法中,而不是 cellForRowAtIndexPath。按照现在的代码编写方式,每次重用单元格时都会添加视图。
-
是的,你是对的。非常感谢!
标签: ios objective-c iphone masonry-ios-osx