나는 결과는 같았다 멀티 라인을 활성화 한 후, 자동 레이아웃에 문제가 있었다 :
너무 크기가 버튼의 크기에 영향을주지 않습니다
내가 추가 한 기반 , 10 살이 경우 contentEdgeInsets에 ((10, 10, 10 )
전화 후 :
도움이되기를 바랍니다 (swift 5.0) :
titleLabel
Constraints
contentEdgeInsets
makeMultiLineSupport()
extension UIButton {
func makeMultiLineSupport() {
guard let titleLabel = titleLabel else {
return
}
titleLabel.numberOfLines = 0
titleLabel.setContentHuggingPriority(.required, for: .vertical)
titleLabel.setContentHuggingPriority(.required, for: .horizontal)
addConstraints([
.init(item: titleLabel,
attribute: .top,
relatedBy: .greaterThanOrEqual,
toItem: self,
attribute: .top,
multiplier: 1.0,
constant: contentEdgeInsets.top),
.init(item: titleLabel,
attribute: .bottom,
relatedBy: .greaterThanOrEqual,
toItem: self,
attribute: .bottom,
multiplier: 1.0,
constant: contentEdgeInsets.bottom),
.init(item: titleLabel,
attribute: .left,
relatedBy: .greaterThanOrEqual,
toItem: self,
attribute: .left,
multiplier: 1.0,
constant: contentEdgeInsets.left),
.init(item: titleLabel,
attribute: .right,
relatedBy: .greaterThanOrEqual,
toItem: self,
attribute: .right,
multiplier: 1.0,
constant: contentEdgeInsets.right)
])
}
}
button.titleLabel?.numberOfLines = 0