UILabel
aに 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 シミュレーターからのラベルの左揃えのスニペットです。