0

2 つのテキスト ビューを重ねて配置し、親 UICollectionViewCell の中央に配置する、ハード コーディングされたレイアウトを実現しようとしています。

----------------------
|                    |
|    This is text    |
|      Also text     |
|                    |
----------------------

さまざまなレガシー/ビジネス上の理由により、UICollectionViewCell のサブクラスにハードコードされた制約を使用してこれを行う必要があります。2 つのテキスト ビューの長さは変えることができますが、親ビューで垂直方向に中央揃えにし、互いの上に配置する必要があります。

これを制約で表現する簡単な方法はありますか? 私はこのタイプのレイアウトシステムに少し慣れていないので、助けていただければ幸いです!

私が使用しているアプリは Masonry ( https://github.com/SnapKit/Masonry ) ライブラリも使用しています。

4

1 に答える 1

0

textView1ラベルの名前がと であると仮定しましょうtextView2

必要なのは、水平方向に中央に配置するための制約を設定することですtextView1( superview) UICollectionViewCell、次に中央textView2に配置しtextView1ます (これも中央に配置できsuperviewます)。両方を中央に配置します。

互いに重ねるには、上を下に設定するための制約を設定する必要がありtextView2ますtextView1

Masonry を使用したことはありませんが、次の制約が必要なようです。

[textView1 mas_makeConstraints:^(MASConstraintMaker *make) {
    //Center first textView in the superview
    make.centerX.equalTo(superview); 
}];
[textView2 mas_makeConstraints:^(MASConstraintMaker *make) {
    //Center second textView with the first one 
    make.centerX.equalTo(textView1);
    //Set second textView to be below the first one
    make.top.equalTo(textView1.mas_bottom);
}];
于 2016-10-08T15:21:43.990 に答える