Ios SwiftUI:如何设置大于或等于的约束,如UIKit';什么是自动布局?

Ios SwiftUI:如何设置大于或等于的约束,如UIKit';什么是自动布局?,ios,swiftui,Ios,Swiftui,在一个UIKit项目中,我在一个视图中有这样一个约束: 结果如下: 我想在SwiftUI中也这样做,所以我尝试了以下方法: var body: some View { ZStack(alignment: .trailing) { Style.Color.blue .cornerRadius(17) Text(text) .foregroundColor(.white) .paddi

在一个UIKit项目中,我在一个视图中有这样一个约束:

结果如下:

我想在SwiftUI中也这样做,所以我尝试了以下方法:

var body: some View {
    ZStack(alignment: .trailing) {
        Style.Color.blue
            .cornerRadius(17)
        Text(text)
            .foregroundColor(.white)
            .padding(.horizontal, 11)
            .padding(.vertical, 8)
            .lineLimit(nil)
    }
}
我得到了这个结果:

我不知道如何才能在UIKit中执行相同的操作,对蓝色视图应用大于或等于greather的前导约束。 此外,正如您所看到的,在单行气泡图上,蓝色视图不会粘贴到文本标签上,而是转到屏幕的前导部分。我怎样才能解决这个问题


感谢您的帮助这里有一个可能的解决方案:

struct ItemView: View {
    let text: String

    var body: some View {
        Text(text)
            .foregroundColor(.white)
            .lineLimit(nil)
            .padding(10)
            .background(Color.blue)
            .cornerRadius(17)
    }
}

请注意,您可能需要提供一种方法来识别文本(如果文本可以是非唯一的)。

谢谢您的回答!我刚刚在
HStack
中添加了一个带有边框
.frame(宽度:104,高度:。无穷大)
的白色视图。我不知道这是否是最好的方法,但它是有效的。
struct ContentView: View {
    let texts = ["Short text", "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."]
    
    var body: some View {
        ZStack(alignment: .trailing) {
            Color.clear
            VStack {
                ForEach(texts, id: \.self) { text in
                    HStack {
                        Spacer()
                        ItemView(text: text)
                    }
                    .padding(.horizontal, 11)
                    .padding(.vertical, 8)
                }
            }
        }
    }
}