2017-02-09 52 views
0

我正在创建一个表格视图单元格,并使用自定义视图进行填充。我希望视图宽度与表视图的分隔符插入相同(默认情况下文本单元格的样子)。我的代码看起来像这样:用宽度等于表格视图分隔符宽度创建视图

- (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; 
};   

但是,这让我充满正是整个屏幕,不仅内部而成的图。有谁知道如何解决这个问题?

回答

1

分离器根据readableLayoutGuide定位。

而是去相对铺设到centerXwidth,你要相对于布局的readableLayoutGuideleadingreadableLayoutGuidetrailing

+0

完美,谢谢。为了记录,您需要编写'.. toItem:self.contentView.readableContentGuide' – Reveclair