我正在创建一个用自定义视图填充的表格视图单元格。我希望视图宽度与表视图的分隔符插入相同(默认情况下文本单元格看起来像)。我的代码看起来像这样:
- (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;
};
但是这给了我一个视图,它完全填满整个屏幕,而不仅仅是内部部分。有谁知道如何解决这个问题?
答案 0 :(得分:2)
分隔符的位置基于readableLayoutGuide
。
而是相对于centerX
和width
进行布局,您希望相对于readableLayoutGuide
leading
和readableLayoutGuide
trailing
进行布局。