0

我想将视图放入 UIScrollView。

Price* p = _entity.prices[0];
    ItemPriceCell *cell = [[ItemPriceCell alloc] initWithFrame:CGRectZero];
    cell.priceLabel.attributedText = [Helper stylePriceLabel:p.priceString withFont:[UIFont fontWithName:@"OpenSans-Semibold" size:34]];
    cell.priceLabel.textColor = [Helper color:self.shop.currentTheme.options.itemPriceTextColor];
    cell.priceNameLabel.text = [NSString stringWithFormat:@"%@",[p definition]];
    cell.priceNameLabel.textColor = [Helper color:self.shop.currentTheme.options.itemDetailTextColor];
    [self.horizontalScrollView addSubview:cell];

现在可以看到价格单元格。但是,如果我添加此代码:

[cell  mas_updateConstraints:^(MASConstraintMaker *make) {
    make.width.equalTo(@200);
    make.height.equalTo(@50);
    make.top.equalTo(@0);
    make.left.equalTo(@0);
    make.right.equalTo(@0);
    make.bottom.equalTo(@0);
}];

价格视图被隐藏。我哪里错了?

4

2 回答 2

0

以下代码块中的问题是、topleft约束。bottomright

[cell mas_updateConstraints:^(MASConstraintMaker *make) {
     make.top.equalTo(@0);
     make.left.equalTo(@0);
     make.right.equalTo(@0);
     make.bottom.equalTo(@0);
}];

在这里,您将顶部约束设置为 0,即单元格的上边框为 0。同样,您的视图的左、右和下边框为 0。您只添加了单元格的widthheight

根据您在此处给出的约束,iOS 自动布局系统将单元格的框架获取为cell.superview.bounds. 由此,您的单元格不应该被隐藏。相反,它应该占据整个视图。

随时提出修改建议以使其变得更好。如果有任何不清楚或您得到不同的结果,请随时发表评论:)

于 2017-01-12T19:27:35.740 回答
0

更快的选择:

[cell mas_updateConstraints:^(MASConstraintMaker *make) {
    make.edges.equalTo(@0);
}];
于 2017-01-26T16:59:49.670 回答