내부에 컨테이너 뷰 (self.tagScrollContentView)가있는 스크롤보기가 있습니다. 스토리 보드에 있습니다. 그런 다음 버튼을 생성하고 제약 조건이있는 컨테이너 뷰에 프로그래밍 방식으로 배치합니다.iOS Autolayout : 제약 조건이있는 컨테이너 크기 조정
for(NSInteger i = 0; i < allTags.count; i++) {
UIButton *tagBt = [[UIButton alloc] initWithFrame:(CGRect){CGPointZero, tagSize.width + 30, 17}];
[self.tagScrollContentView addSubview:tagBt];
[constraintsArray addObject:[NSLayoutConstraint constraintWithItem:tagBt attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:nil multiplier:1.0 constant:tagSize.width + 30]];
if(prevBtRow1)
[constraintsArray addObject:[NSLayoutConstraint constraintWithItem:tagBt attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:prevBtRow1 attribute:NSLayoutAttributeRight multiplier:1.0 constant:10.0]];
else
[constraintsArray addObject:[NSLayoutConstraint constraintWithItem:tagBt attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.tagScrollContentView attribute:NSLayoutAttributeLeading multiplier:1.0 constant:10.0]];
[constraintsArray addObject:[NSLayoutConstraint constraintWithItem:tagBt attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.tagScrollContentView attribute:NSLayoutAttributeTop multiplier:1.0 constant:7.0]];
prevBtRow1 = tagBt;
}
[self.tagScrollContentView addConstraints:constraintsArray];
[self.tagScrollView layoutSubviews];
이 코드는 모든 너비에 따라 모든 단추를 배치합니다. 모두 잘 작동합니다. 그럼 내가 원하는 건 tagScrollContentView 모든 단추가이보기 안에 있고 범위를 벗어나지 않도록 확대하는 것입니다. 그런 다음 컨테이너보기와 동일한 올바른 내용 크기를 내 스크롤에 할당합니다. 스크롤이 제대로 작동하지 않습니다. 콘텐츠 크기가 컨테이너보기에 맞지 않습니다.