letstack=UIStackView(arrangedSubviews:[titleLabel,subtitleLabel,button])stack.axis=.verticalstack.spacing=8stack.alignment=.fillview.addSubview(stack)// stack 자체만 외부 constraint
Hugging / Compression — 두 label 한 줄에
// 길어지면 잘리지 말아야 할 쪽priceLabel.setContentCompressionResistancePriority(.required,for:.horizontal)nameLabel.setContentCompressionResistancePriority(.defaultLow,for:.horizontal)// → name 이 "..." 잘림, price 는 풀 표시
동적 height (multiline label)
descriptionLabel.numberOfLines=0// 무제한// width 만 제약, height 는 알아서descriptionLabel.widthAnchor.constraint(equalTo:view.widthAnchor,constant:-32).isActive=true
런타임 충돌 디버그
// 충돌 시 콘솔에 "Will attempt to recover by breaking constraint ..."// 해당 constraint 에 identifier 부여 → 추적 쉬움letc=view.heightAnchor.constraint(equalToConstant:44)c.identifier="RowMinHeight"c.isActive=true