如何在 SwiftUI 中添加紧贴文本的圆形边框

问题描述 投票:0回答:1

我想创建这个:
enter image description here

背景/高亮效果是带有

.regularMaterial
的圆角矩形。

我尝试过使用

AttributedString
并设置
.backgroundColor
但这不允许我使用材质,也不能将边缘变圆。

我尝试使用有关字体的信息来计算这个“精确”/“粘性”边框,但是

Text
有时会不可预测地自动连字符长单词,因此我的计算变得混乱。我现在只是禁用了连字符,但我想知道是否有人找到了一种方法来做到这一点。

我想过单独渲染每一行,但再次

Text
并没有告诉我换行符将在文本中的位置,所以我没有尝试这种方法。

ios swift swiftui text formatting
1个回答
0
投票

此处显示了使用这些概念的代码示例:

struct ContentView: View {
var body: some View {
    Text("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,")
        .font(.title)
        .padding() // Add padding around the text
        .background(Material.regular, in: RoundedRectangle(cornerRadius: 10)) // Apply rounded material background
        .clipShape(RoundedRectangle(cornerRadius: 10)) // Ensure the clipping matches the rounded corners
        .padding() // Additional outer padding for aesthetics
}

}

在此输入图片描述

© www.soinside.com 2019 - 2024. All rights reserved.