子VCを内部にロードする親VCがあります。次のように親VCのコードは次のとおりです。サブビューは表示されますが、スーパービューフレームの外側にあるフレーム
self.draggerViewController = [[DraggerViewController alloc] initWithSuperView:self.view];
そして、次のようにVCがある子供のコード:このコードで
- (instancetype)initWithSuperView:(UIView*)superView {
self = [super init];
if (self) {
self.superView = superView;
[self.view setTranslatesAutoresizingMaskIntoConstraints:NO];
[superView addSubview:self.view];
[superView addConstraint:[NSLayoutConstraint constraintWithItem:superView attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeLeading multiplier:1 constant:0]];
[superView addConstraint:[NSLayoutConstraint constraintWithItem:superView attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeTrailing multiplier:1 constant:0]];
self.constraintDraggerAttributeBottom = [NSLayoutConstraint constraintWithItem:superView attribute:NSLayoutAttributeBottom relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeBottom multiplier:1 constant:0];
[superView addConstraint:self.constraintDraggerAttributeBottom];
}
return self;
}
、サブビューは、親ビューに表示され、制約が正しく適用されています先頭と末尾が0の親ビューの下部に配置されます。ただし、ビューの実際のフレームは親ビューの外側です。
つまり、親ビューの下部にサブビューが表示されますが、このサブビューのフレームはframe =(0-315; 768 35)です。
'clipToBounds'を 'YES'に設定すると、ビューは実際のフレームに配置されますが、制約は正しく適用されません。
この子VCを、制約を使用したい位置で親VCのビュー内に配置するにはどうすればよいですか?
ありがとうございました!
同じ問題...ここで何が起こっているのか分かりません... –