用宽度等于表格视图分隔符宽度创建视图
问题描述:
我正在创建一个表格视图单元格,并使用自定义视图进行填充。我希望视图宽度与表视图的分隔符插入相同(默认情况下文本单元格的样子)。我的代码看起来像这样:用宽度等于表格视图分隔符宽度创建视图
- (id) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
self.preservesSuperviewLayoutMargins = true;
self.contentView.preservesSuperviewLayoutMargins = true;
myInnerView = [[MyInnerView alloc] initWithFrame:CGRectZero];
[self.contentView addConstraint:[NSLayoutConstraint
constraintWithItem:myInnerView
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:self.contentView
attribute:NSLayoutAttributeCenter:
multiplier:1.0f constant:0.f]];
[self.contentView addConstraint:[NSLayoutConstraint
constraintWithItem:myInnerView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:self.contentView
attribute:NSLayoutAttributeWidth
multiplier:1.0f constant:0.f]];
// some vertical constraints here
}
return self;
};
但是,这让我充满正是整个屏幕,不仅内部而成的图。有谁知道如何解决这个问题?
答
分离器根据readableLayoutGuide
定位。
而是去相对铺设到centerX
和width
,你要相对于布局的readableLayoutGuide
leading
和readableLayoutGuide
trailing
。
完美,谢谢。为了记录,您需要编写'.. toItem:self.contentView.readableContentGuide' – Reveclair