저는이 이상한 자동 레이아웃 문제에 대한 해결책을 찾고있었습니다. 5 페이지로 페이징 UIScrollView를 설정하려고합니다. 각 페이지에는 고유 한 UIView 인 container
이 있습니다. 나의 현재 설정은 다음과 같습니다UIScrollView가없는 Autolayout
UIView *container = [[UIView alloc] init];
container.translatesAutoresizingMaskIntoConstraints = NO;
NSLayoutConstraint *width =[NSLayoutConstraint
constraintWithItem:container
attribute:NSLayoutAttributeWidth
relatedBy:0
toItem:self.headlineView
attribute:NSLayoutAttributeWidth
multiplier:1.0
constant:0];
NSLayoutConstraint *height =[NSLayoutConstraint
constraintWithItem:container
attribute:NSLayoutAttributeHeight
relatedBy:0
toItem:self.headlineView
attribute:NSLayoutAttributeHeight
multiplier:1.0
constant:0];
NSLayoutConstraint *top = [NSLayoutConstraint
constraintWithItem:container
attribute:NSLayoutAttributeTop
relatedBy:NSLayoutRelationEqual
toItem:self.headlineView
attribute:NSLayoutAttributeTop
multiplier:1.0f
constant:0.f];
NSLayoutConstraint *left = [NSLayoutConstraint
constraintWithItem:container
attribute:NSLayoutAttributeLeft
relatedBy:NSLayoutRelationEqual
toItem:self.headlineView
attribute:NSLayoutAttributeLeft
multiplier:index
constant:self.headlineView.frame.size.width];
[self.headlineView addSubview:container];
[self.headlineView addConstraints:@[width, height, top, left]];
상황 :이 내에서 호출되는 대한 루프 5 배, 변수 index
증가 할 때마다 실행됩니다. 그게 제대로 작동하고있어.
마지막 제약 조건에 따라 원하는 효과를 얻을 수 있다고 생각했습니다. 각 시간 (0-4)의 배율은 스크롤 뷰 프레임의 한 단위만큼 왼쪽 가장자리를 이동시킵니다.
실제 결과는 매우 이상합니다. 5 개의보기 모두는 서로 겹치는 스크롤보기의 두 번째 페이지에 있습니다.
곱셈기와 상수 매개 변수는 사용하지 않는다고 생각합니까? 나는 무엇을 여기에서 엉망 이냐?
프레임이 0이 아닙니다. 너비와 높이 멤버가 이미 설정되어 있습니다. 제약 조건 이전에이 두 메서드를 호출하면 아무 일도하지 않습니다. – erdekhayser
Blat! 다시 도면 보드 – brandonscript
문제는 '왼쪽'제약이 내가 생각하는대로하지 않는 것 같습니다. 다른 제약 조건은 제대로 작동하지만이 마지막 문제가 문제인 것처럼 보입니다. – erdekhayser