Многострочный текст SwiftUI выдает ошибку в имитаторе холста - PullRequest
1 голос
/ 23 марта 2020

Я обращаюсь к вам, потому что после нескольких часов попыток я не могу найти решение для моей проблемы.

В ZStack я использую Text() для позиционирования фрагмента текста I Читаю из JSON -файла на картинке. Все идет нормально. Фрагменты текста содержат символы новой строки \n, поэтому я хотел использовать многострочные литералы ("""). При использовании простого текста это не проблема, но когда я начинаю использовать текст, который я получаю из моего JSON -файла, симулятор холста выдает следующую ошибку:

Compiling failed: Multi-line string literal content must begin on a new line

При создании приложения на моем iPhone, теперь есть ошибка, но \n не приводит к разрывам строк.

Это мой код:

Text("""
      \(card.card_text)
     """)

При попытке этого

Text("""
      hello\ndarkness\nmy\nold\nfriend
     """)

все работает как положено.

Это пример для card.card_text:

"card_text": "Take one Card\\nGive two cards two the player on your right\nYou cannot use a money card in the next round"

Может кто-нибудь, пожалуйста, выведите sh меня в правую Направление?

Спасибо!

1 Ответ

1 голос
/ 23 марта 2020

Вам не нужны многострочные литералы (это для литералов!), Text отлично обрабатывает новые строки, как

, поэтому

Text("Take one Card\nGive two cards two the player on your right\nYou cannot use a money card in the next round")

дает

demo

, поэтому просто проверьте, есть ли в вашем JSON правильная строка (например: у вас Card\\nGive - double sla sh)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...