줄을 preferredMaxLayoutWidth
을 사용하여 자동으로 배열하려고했습니다. 왜 이것이 작동하지 않는지 나는 알 수 없다.여러 줄 NSTextField가 작동하지 않습니다.
class ViewController: NSViewController {
override func viewDidLoad() {
super.viewDidLoad()
let textField = NSTextField()
textField.cell!.usesSingleLineMode = false
textField.cell!.wraps = true
textField.cell!.lineBreakMode = .byCharWrapping
view.addSubview(textField)
textField.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
textField.topAnchor.constraintEqual(to: view.topAnchor),
textField.leadingAnchor.constraintEqual(to: view.leadingAnchor),
textField.widthAnchor.constraintEqual(toConstant: 20)
])
textField.preferredMaxLayoutWidth = 20
textField.stringValue = "abcdefghijklmnopqrstuvwxyz"
view.needsLayout = true
view.layoutSubtreeIfNeeded()
print("Intrinsic content size: \(textField.intrinsicContentSize)")
print("Fitting size: \(textField.fittingSize)")
}
}
이 인쇄 :
(21.0의 크기는 (20.0, 21.0) 단일 라인.)고유 콘텐츠 사이즈 (-1.0, 21.0)
피팅 사이즈 :
무엇을 작동하지? 한 줄에 한 글자 만 표시되도록 너비를 설정 한 것 같습니다. –
@ l' L' l 너비는 20 포인트로 제한됩니다. 나는'NSTextField'가 모든 텍스트를 수용 할만큼 충분히 큰 높이를 반환 할 것으로 기대합니다. – fumoboy007
그래서 'heightAnchor'에 대한 제약 조건을 사용하지 않으시겠습니까? –