SwiftUI - цвет фона текста встроенного стиля, который соответствует ширине многострочного текста SwiftUI

Я пытаюсь создать цвет фона текста, который соответствует ширине каждой строки многострочного текста. См. Изображение ниже:

Просмотр текста строки

Я смог получить только базовый цвет фона окна, используя.background(Color.black), он дает фон для всего текстового поля. Желаемый эффект - дать фон только до конца каждой строки текста.

1 ответ

Я знаю только, как решить эту проблему в PHP/CSS. Сначала поместите текст в переменную. затем замените все пробелы тегами div. затем добавьте CSS для div. вот и все:

!Важный! убедитесь, что в начале и в поле нет пробела, а в середине текста нет пробела

Вот мой пример кода:

<style>
    .divs{
        background-color: black;
        color: white;
        margin: 5px 0px 5px 0px;/* space from top and bottom*/
        padding-left: 5px;/* word spacing */
        float: left;/* Importand to stick them together */
        font-size: 20pt;
    }
</style>
<div>
<?php
  $yourtext = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.';
  echo "<div class='divs'>".str_replace(" ", "</div> <div class='divs'>", $yourtext)."</div>";
?>
</div>

Но я уверен, что тот же метод возможен и с SwiftUI, просто зациклив текст и заменив пробел

-> просто поищите замену текста в SwiftUI, и вы найдете то, что вам нужно

Другие вопросы по тегам