길이가 선택적 인 ImageView로 UITableViewCell을 표시하려고합니다.자동 레이아웃을 사용할 때 UIImageView 길이가 중복됩니다.
하지만 내 결과 (상단 및 하단에서 중복)과 같이 : 어떻게이 문제를 해결하기 위해 그리고 여기 내 레이아웃은 무엇입니까?
길이가 선택적 인 ImageView로 UITableViewCell을 표시하려고합니다.자동 레이아웃을 사용할 때 UIImageView 길이가 중복됩니다.
하지만 내 결과 (상단 및 하단에서 중복)과 같이 : 어떻게이 문제를 해결하기 위해 그리고 여기 내 레이아웃은 무엇입니까?
문제는 여기 ContentHuggingPriority
및 ContentCompressionResistancePriority
입니다.
코드에서 이미지의 크기를 감지 할 수있는 아무것도이
[NSLayoutConstraint autoSetPriority:ALLayoutPriorityRequired forConstraints:^{
[yourImageView autoSetContentCompressionResistancePriorityForAxis:ALAxisHorizontal];
[yourImageView autoSetContentHuggingPriorityForAxis:ALAxisHorizontal];
}];
올바르지 않을 수 있습니다. 나는 노력했지만 유용하지는 않습니다. – John
를 사용하려고합니다.
이미지보기에 높이 제한을 설정하십시오. 상수는 나중에 프로그래밍 방식으로 변경하기 때문에 중요하지 않습니다.
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *imageViewHeight
IB에
에 연결합니다. ReferenceUIImage * img = [UIImage imageNamed:@"someImage.png"];
CGSize imgSize = img.size;
변경 NSLayoutConstraint 정수입니다.
self.imageViewHeight.constant = imgSize.height
먼저 LMAO @ 샘플링 화상. 둘째, "Title Title"텍스트 뷰 위쪽과 –
@AO의 버튼 모두에 대한 상수 == 0의 수직 공간 제약 조건이 있는지 확인하십시오. 나는 그것을 설정했다. – John
여분의 공간이 정말로 UIImageView의 추가 높이인지 확인하기 위해 뷰 디버거에 들어가 보았습니까? 높이를 특정 상수로 지정하면 여전히 간격이 표시됩니까? –