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

次のコード ブロックの問題は、、、topおよび制約です。leftbottomright

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

ここでは、上部の制約を 0 に等しくしています。つまり、セルの上の境界線は 0 です。同様に、ビューの左、右、および下の境界線は 0 です。セルのwidthと のみを追加しました。height

ここで指定した制約から、iOS 自動レイアウト システムはセルのフレームを として取得しcell.superview.boundsます。これから、あなたのセルは隠されるべきではありません。代わりに、ビュー全体を占める必要があります。

これを改善するための編集を自由に提案してください。不明な点がある場合、または別の結果が得られた場合は、お気軽にコメントしてください:)

于 2017-01-12T19:27:35.740 に答える