首页 > 解决方案 > SwiftUI - 适合多行文本宽度的内联样式文本背景颜色 SwiftUI

问题描述

我正在尝试创建一种背景文本颜色,以跟踪多行文本每行的宽度。见下图:

行文本视图

我只能使用 .background(Color.black) 获得基本的框背景颜色,它为整个文本框提供了背景。所需的效果是仅在每行文本的末尾提供背景。

标签: swiftuiswiftui-text

解决方案


我只知道如何在 PHP/CSS 中解决这个问题。首先,将文本放入变量中。然后通过 div 标签替换所有空格。然后为 div 添加 CSS。就是这样:

!重要的!确保在开头和中间没有空格并且在文本中间没有输入空格

这是我的代码示例:

<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 中搜索 text-replacing 即可找到所需内容


推荐阅读