[Tip] iOS 11 Ambiguous Layouts

stackView 안에 들어갈 때 uilabel같은 텍스트 길이에 따라서 높이가 결정되는 control 계열은 문자열이 없을 때 높이값이 모호하게 된다. 보통 hugging, compressionResistance priority를 조정하면 해결 되기는 한다.


label.setContentHuggingPriority(.required, for: .vertical)
    label.setContentCompressionResistancePriority(.required, for: .vertical)

하지만 iOS 11에서 Ambiguous Layouts warning이 발생하게 된다.

label의 텍스트 내용이 없을 때 구체적으로 높이를 얼마만큼 되어야 하는지 stackView arrangedSubview 조건이 모호하게 된다.

즉, 명시적으로 label의 최소 높이를 constraint로 지정 하게 되면 이 warning과 layout이 올바로 나오지 않는 현상이 해결된다.

댓글 남기기