3

UILabelaに aを追加しUITextViewて、textView の上部に配置しようとしています。中央ではなく、左側に配置されます。これは、ラベルの固有のサイズが、制約がビュー全体に広げようとする試みよりも優先されるためだと思います。ただし、問題に対処する方法がわかりません。コードは次のとおりです。

self.titleLabel = [[UILabel alloc] initWithFrame:CGRectZero];
self.titleLabel.translatesAutoresizingMaskIntoConstraints = NO;
self.titleLabel.textAlignment = NSTextAlignmentCenter;
self.titleLabel.text = @"Some text that should be centered in the textView";
[self addSubview:self.titleLabel];

NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(_titleLabel);

NSArray *hConstraint = 
   [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[_titleLabel]-|"
                                               options:0 metrics:nil
                                                 views:viewsDictionary];
[self addConstraints:hConstraint];

NSArray *vConstraint = 
   [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(-50)-[_titleLabel]"
                                               options:0 metrics:nil
                                                 views:viewsDictionary];
[self addConstraints:vConstraint];

以下は、iPad シミュレーターからのラベルの左揃えのスニペットです。

ここに画像の説明を入力

4

1 に答える 1