2014-03-03 4 views
1

전화 카메라의 이미지로 UIImageView를 초기화 한 후 제약 조건을 설정하는 데 어려움을 겪고 있습니다. 나는 아래의 코드를 실행하는 경우 :UIImageView 및 자동 레이아웃

UITextView *textView = self.textView; 
UIImageView *imageView = [[UIImageView alloc] initWithImage:self.item.accessoryImage]; 
UILabel *label = self.textLabel; 

self.accessoryImageView = imageView; 
[self.contentView addSubview:self.accessoryImageView]; 

[self.contentView removeConstraints:self.contentView.constraints]; 
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[textView]-2-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(textView, label)]]; 
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-100-[textView]-2-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(textView, label)]]; 
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[imageView(==100)]-10-[textView]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(imageView,textView)]]; 

자동 레이아웃은 이미지 뷰 (== 100) 제약 조건을 중단하기로 결정하고 대신 이미지의 같은 크기 인 폭 2000 + 포인트가되도록 이미지 뷰 프레임 크기. 누구든지이 상황을 해결할 방법을 알고 있습니까?

당신이 줄의 특정되고 있지 않습니다
+0

'imageView (== 100)'의 약자는 무엇입니까? 고정 너비를 설정하려고한다면'imageView (100)'을 사용하지 않으시겠습니까? '==보기'는 두보기 (예 : '[button1 (== button2)]'. 아마도 자동 레이아웃 시스템은 '100'을 뷰 식별자로 취급 할 것입니까? – vokilam

답변

1

[self.accessoryImageView setTranslatesAutoresizingMaskIntoConstraints:NO]을 호출하여 이미지보기가 자동 크기 조정 마스크를 제한 조건으로 변환하지 않는지 확인하십시오. 크기가 기본값 인 YES으로 설정된 경우 크기 제한을 생성하기 위해 내장 콘텐츠 크기 (이미지 크기)를 사용합니다. NO으로 설정하면 발생하지 않습니다.

0

:

[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"[imageView(==100)]-10-[textView]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(imageView,textView)]]; 

난 당신이 같은 형식을 줄 필요가 있다고 생각 :

@"V:[imageView(==100)]-10-[textView]" 

또는

@"H:[imageView(==100)]-10-[textView]" 

자동 레이아웃이에서 추론 할 필요가

그 방향은 필요한 제약 조건이다. 당신이 당신의 콘솔을 보았을 때, 그것이 모호한 것처럼 보이기 때문에 아마도 레이아웃 누락에 대해 불평 할 것입니다.

또한 Scott이 대답 한 바가 정확합니다. UIImageView에 구속 조건을 망치지 말라고 말할 수 있습니다.

+2

존재하지 않으면 H가 가정됩니다. – jrturton

관련 문제