Установка lineBreakMode в byWordWrapping и установка numberOfLines в 0 кажется недостаточной:
struct MyTextView: UIViewRepresentable {
func makeUIView(context: Context) -> UILabel {
let label = UILabel()
label.lineBreakMode = .byWordWrapping
label.numberOfLines = 0
label.text = "Here's a lot of text for you to display. It won't fit on the screen."
return label
}
func updateUIView(_ view: UILabel, context: Context) {
}
}
struct MyTextView_Previews: PreviewProvider {
static var previews: some View {
MyTextView()
.previewLayout(.fixed(width: 300, height: 200))
}
}
Текст не переносится, независимо от того, какой параметр я использую для lineBreakMode. Предварительный просмотр холста и предварительный просмотр в реальном времени выглядят так:
Самое близкое, что я получил, - это установление предпочитаемого значения MaxLayoutWidth, которое приводит к переносу текста,но, похоже, не существует значения, которое означает «какого бы размера не было представление».