SwiftUI文本中间的标签视图

时间:2020-07-11 09:13:50

标签: swiftui

我有名字Max和文字。我希望文本在左侧的行截断之后就正确(没有空格)。在SwiftUI中有这种可能吗?

照片:

enter image description here

我当前使用的代码是这样:

struct NotificationUser: View {
    var name: String
    var text: String
    
    var body: some View {
        HStack(alignment: .top) {
            Text(name)
            .bold()
            .padding(.horizontal, 5)
            .padding(.vertical, 2)
            .background(Color(.systemGray6))
            .cornerRadius(5)
            
            Text(text)
        }
    }
}

2 个答案:

答案 0 :(得分:1)

属性字符串

您可以从属性为I explained here的字符串中获取帮助,并且该字符串对您要查找的内容具有完全访问权限。


更多本地SwiftUI

此外,您也可以使用此技巧:

var body: some View {
    ZStack(alignment: .topLeading) {
        Text(name)
            .bold()
            .padding(.horizontal, 5)
            .padding(.vertical, 2)
            .background(Color(.systemGray6))
            .cornerRadius(5)

        Group {
            Text(name) // This goes as a frame holder
                .bold()
                .foregroundColor(.clear)

                + Text("  " + text)
        }
        .padding(.horizontal, 5)
        .padding(.vertical, 2)
    }
}

结果

Result

答案 1 :(得分:0)

这是我为 iOS 13 及更高版本编写的标签视图。 这是一个带有可删除标签的多行文本字段。

https://github.com/lijin88121/TagTextField

enter image description here