5

UILabelセルの垂直方向の中央に配置したいことがあります。これはプログラムで行う必要があります。次の制約を追加して中央に配置しようとしました(locNameはUILabelです):

[cell addConstraint:[NSLayoutConstraint constraintWithItem:cell
attribute:NSLayoutAttributeCenterY relatedBy:0 toItem:cell.locName 
attribute:NSLayoutAttributeCenterY multiplier:1 constant:0]];

これは私が得る結果です:

ここに画像の説明を入力

センタリングのように見えますが、高さなどを変えているのUILabelでしょうか?

IB のビュー コントローラーは次のとおりです。

ここに画像の説明を入力

プログラムで垂直方向のセンタリングを実現するにはどうすればよいですか?

4

3 に答える 3

3

これはどうですか: センタリングの制約に加えて、cell.locName の高さの制約を追加して背を高くします。

[cell.contentView addConstraint:
    [NSLayoutConstraint constraintWithItem:cell.locName
                                 attribute:NSLayoutAttributeHeight
                                 relatedBy:NSLayoutRelationGreaterThanOrEqual
                                    toItem:nil
                                 attribute:NSLayoutAttributeNotAnAttribute
                                multiplier:1
                                  constant:20]];
于 2012-10-10T16:15:22.073 に答える
0

中央に配置した後、UIlabelの高さに到達しようとします???

または、カスタムセルのラベルの場所をプログラムで再割り当てできます。

于 2012-10-08T12:44:32.387 に答える