2013-06-14 2 views
6

레이블이있는 Scrollview가 있습니다. 상단 중앙에 레이블을 중앙에, 나는 그것을 두 가지 제약 조건이 적용 NO에 questionLabel에 대한 translatesAutoresizingMaskIntoConstraints을 설정하지 않고translatesAutoresizingMaskIntoConstraints를 NO로 설정 한 후 검은 색 화면이 표시됩니다.

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-30-[questionLabel]" 
                  options:0 
                  metrics:0 
                   views:viewsDictionary]]; 
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.questionLabel 
               attribute:NSLayoutAttributeCenterX 
               relatedBy:NSLayoutRelationEqual 
                toItem:self 
               attribute:NSLayoutAttributeCenterX 
               multiplier:1.0 
                constant:.0]]; 

을, 나는 핵심 레이아웃에 의해 던져진 예외로 실행됩니다.

(
"<NSLayoutConstraint:0x8e3baf0 V:|-(30)-[UILabel:0xa184ca0] (Names: '|':WLQuestionnaireSingleQuestionView:0xa184050)>", 
"<NSAutoresizingMaskLayoutConstraint:0x8e3efa0 h=--& v=--& UILabel:0xa184ca0.midY == + 15>" 

)

가에서 나는 핵심 레이아웃이 자동으로 자동 크기 마스크와 역 호환되도록 생성 된 제약 조건을 만족시키기 위해 노력 것을 볼 : 그것은 다음과 같은 제약 조건을 만족시킬 수 없다는 것을 나에게 경고합니다. 내 이해에서,이 문제를 해결하려면 translatesAutoresizingMaskIntoConstraints를 NO로 설정해야하지만 불행히도 완전히 검은 색 화면이 나타나고 디버그 메시지가 표시되지 않습니다.

프로그래밍 방식으로 뷰를 구현 했으므로 아무 것도 사용하지 않았습니다.

+1

동일한 유형의 행동과 싸우고 있습니다. 해결 방법을 찾았습니까? – topwik

+0

동일한 문제가 있습니다. – clearwater82

+0

죄송합니다. 너무 오래 전부터 출처에 액세스 할 수 없었습니다. 내 문제에 대한 매우 구체적인 해결책으로 해결 방법이 있다고 생각하지만 (아마도이 ​​문제는 처음에는 피할 수 있습니다), 지금 당장이 특정 문제에 대한 해결책을 제시 할 수는 없습니다. – ff10

답변

0

음,이 질문은 이미 꽤 오래된 것 같습니다. 그러나 나는 다른 사람들에게 여전히 흥미로울 수 있기 때문에 이것에 대한 답을주고 싶다. UIScrollView을 AutoLayout과 함께 사용하므로 콘텐츠 크기는 제약 조건에 의해 결정됩니다. 보기에서 아래쪽으로 구속 조건이 없기 때문에 높이를 올바르게 설정할 수 없습니다. 보기에 너비를 지정하지 않은 경우와 동일한 너비. AutoLayout에 뷰의 중앙에 위치해야한다고 말한 것입니다. 다음 코드 (보기 너비 = 40)를 사용하여 문제를 해결할 수 있습니다.

[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-(30)-[questionLabel]|" 
                 options:0 
                 metrics:0 
                  views:viewsDictionary]]; 
[self addConstraint:[NSLayoutConstraint constraintWithItem:self.questionLabel 
               attribute:NSLayoutAttributeCenterX 
               relatedBy:NSLayoutRelationEqual 
                toItem:self 
               attribute:NSLayoutAttributeCenterX 
               multiplier:1.0 
                constant:.0]]; 
[self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[questionLabel(40)]", options: 0, metrics: 0, views: viewsDictionary]]; 
관련 문제