프로그래밍 방식으로 추가 한 UIImageView가있는 도구 모음이 있습니다. NSConstraint를 UIImageView에 추가하여 툴바보기에 중앙에 넣으려고했을 때. 시뮬레이터에서 실행했을 때 충돌이 발생했습니다. 다음은 내 코드입니다 :NSConstraint not working
UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0,
nav.frame.size.width, nav.frame.size.height)];
image.image = [UIImage imageNamed:[imageTop objectAtIndex:2]];
[imageToolbar addSubview:image];
[imageToolbar addConstraint:[NSLayoutConstraint constraintWithItem:image
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:imageToolbar
attribute:NSLayoutAttributeCenterX
multiplier:1.0 constant:0]];
[imageToolbar addConstraint:[NSLayoutConstraint constraintWithItem:image
attribute:NSLayoutAttributeCenterY
relatedBy:NSLayoutRelationEqual
toItem:imageToolbar
attribute:NSLayoutAttributeCenterY
multiplier:1.0 constant:0]];
오류 : 동시에 제약 조건을 만족 수 없습니다.
아마도 다음 목록의 제한 조건 중 하나 이상은 원치 않는 것일 수 있습니다. 이것을 시도하십시오 : (1) 각 제약 조건을보고 당신이 예상하지 못한 것을 알아 내려고 시도하십시오; (2) 원하지 않는 제약 조건 또는 제약 조건을 추가 한 코드를 찾아 수정하십시오.
하는 제약 조건을 파괴함으로써 복구하려고합니다
(
"<NSLayoutConstraint:0x7fcfc2536f50 UIImageView:0x7fcfc2536d50.centerX == UIToolbar:0x7fcfc2525610.centerX>",
"<NSLayoutConstraint:0x7fcfc252dad0 UIView:0x7fcfc252c750.trailingMargin == UIToolbar:0x7fcfc2525610.trailing - 16>",
"<NSLayoutConstraint:0x7fcfc252db20 UIToolbar:0x7fcfc2525610.leading == UIView:0x7fcfc252c750.leadingMargin - 16>",
"<NSAutoresizingMaskLayoutConstraint:0x7fcfc254fea0 h=--& v=--& UIImageView:0x7fcfc2536d50.midX == + 160>",
"<NSLayoutConstraint:0x7fcfc2551110 'UIView-Encapsulated-Layout-Width' H:[UIView:0x7fcfc252c750(375)]>"
를) (참고 : 당신이 이해하지 못하는 NSAutoresizingMaskLayoutConstraints을보고있는 경우, UIView의 속성 translatesAutoresizingMaskIntoConstraints에 대한 설명서를 참조하십시오)
것은 UIViewAlertForUnsatisfiableConstraint에서 상징적 중단 점을 확인 디버거에서 이것을 잡아라.
위에 나열된 UIView의 UIConstraintBasedLayoutDebugging 범주의 메서드도 유용 할 수 있습니다.
고맙습니다
그리고 추락했을 때 콘솔에서 매우 중요한 메시지를 전했습니다. – matt
당신은 크래시 로그를 읽지 않아도되므로 크래시 로그를 게시하지 않아도되고 잘못된 코드를 게시했습니다. 불행히도 나는 한 번만 질문을 downvote 수 있습니다. 그래도 그걸 고쳐줬으면 좋겠어. 다음 번에는 게시하기 전에 수정하십시오. – matt
그 점에 대해 죄송합니다. –