Размер uilabel в Swiftui через UiviewResentable Like Text, чтобы обернуть несколько строкIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Размер uilabel в Swiftui через UiviewResentable Like Text, чтобы обернуть несколько строк

Сообщение Anonymous »

Цель состоит в том, чтобы получить интегрированную uilabel через UiviewResentable , чтобы размер одинаково текст - используйте доступную ширину и оберните до нескольких строк, чтобы соответствовать всем текстам, тем самым увеличивая высоту hStack , а не в беспрепятственной ширине. Это очень похоже на этот вопрос, хотя принятый ответ не работает для макета, который я использую с участием Scrollview , vstack и hstack .

Код: Выделить всё

struct ContentView: View {
var body: some View {
ScrollView {
VStack {
HStack {
Text("Hello, World")

Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tempor justo quam, quis suscipit leo sollicitudin vel.")

//LabelView(text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tempor justo quam, quis suscipit leo sollicitudin vel.")
}
HStack {
Text("Hello, World")

Text("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tempor justo quam, quis suscipit leo sollicitudin vel.")
}

Spacer()
}
}
}
}

struct LabelView: UIViewRepresentable {
var text: String

func makeUIView(context: UIViewRepresentableContext) -> UILabel {
let label = UILabel()
label.text = text
label.numberOfLines = 0
return label
}

func updateUIView(_ uiView: UILabel, context: UIViewRepresentableContext) {
uiView.text = text
}
}

struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
< /code>
Использование двух текстов в HSTACK Результаты в этом желаемом макете:
 < /p>
Использование текста и чертеть src = "https://i.sstatic.net/d39z9.png"/> 
, если вы оберните labelview 
в GeometryReader и пройти ширину в labelview , чтобы установить предпочтения, что для SupeRedMaxLayoutwidth , IT AT. Вы можете получить ширину, если вы переместите GeometryReader вне ScrollView , но тогда это ширина представления прокрутки, а не ширина Swiftui предлагает для labelview в hstack . .horizontal) он работает лучше, но все еще не отображает весь текст, он странно усекает метку на 3 строках и второй текст в 2 строках.

Подробнее здесь: https://stackoverflow.com/questions/627 ... ltiple-lin
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»