0

たとえば、ビュー a、b、および c があり、次のようにするとします。

[a setTranslatesAutoresizingMaskIntoConstraints:NO];
[b setTranslatesAutoresizingMaskIntoConstraints:NO];
[c setTranslatesAutoresizingMaskIntoConstraints:NO];

[a addSubview:b];
[a addSubview:c];

[a addConstraint:
 [NSLayoutConstraint constraintWithItem:b
                              attribute:NSLayoutAttributeLeft
                              relatedBy:NSLayoutRelationEqual
                                 toItem:a
                              attribute:NSLayoutAttributeLeft
                             multiplier:1.0
                               constant:0]];
[a addConstraint:
 [NSLayoutConstraint constraintWithItem:b
                              attribute:NSLayoutAttributeRight
                              relatedBy:NSLayoutRelationEqual
                                 toItem:a
                              attribute:NSLayoutAttributeRight
                             multiplier:1.0
                               constant:0]];

次に、私はできるはずです:

[a addConstraint:
 [NSLayoutConstraint constraintWithItem:c
                              attribute:NSLayoutAttributeWidth
                              relatedBy:NSLayoutRelationEqual
                                 toItem:a
                              attribute:NSLayoutAttributeWidth
                             multiplier:1.0
                               constant:0]];

?

代わりに、最後のコマンドを次のように変更すると:

[a addConstraint:
 [NSLayoutConstraint constraintWithItem:c
                              attribute:NSLayoutAttributeWidth
                              relatedBy:NSLayoutRelationEqual
                                 toItem:a
                              attribute:NSLayoutAttributeRight
                             multiplier:1.0
                               constant:0]];

...その後、すべて正常に動作します。何を与える?

4

0 に答える 0