Swiftui 如何制作;“光滑的桌子”;迅捷

Swiftui 如何制作;“光滑的桌子”;迅捷,swiftui,Swiftui,我有android屏幕,我想把它复制到SwiftuiiOS屏幕 安卓: iOS: 但我试着用swiftui。你们看文本的方式并没有基线和重力参数,我是如何在android中制作的。请帮助我制作等效的简单屏幕 我的快捷键代码: struct WeatherView: View { var weather: WeatherMainModel var body: some View { VStack { VStack {

我有android屏幕,我想把它复制到SwiftuiiOS屏幕

安卓:

iOS:

但我试着用swiftui。你们看文本的方式并没有基线和重力参数,我是如何在android中制作的。请帮助我制作等效的简单屏幕

我的快捷键代码:

struct WeatherView: View {
    var weather: WeatherMainModel

    var body: some View {
        VStack {
            VStack {
                Text("Description: \(weather.weather[0].component3())")
                Text("Visibility: \(weather.visibility) meters")
                Text("Main: \(weather.weather[0].main)")
            }
            VStack {
                Text("Temperature Data")
                HStack {
                    VStack {
                        HStack {
                            Text("Temperature: \(temperatureString(value: weather.mainData.temperature))")
                                .font(.system(size: 15))
                            Spacer()
                        }
                        HStack {
                            Text("Temperature fels like: \(temperatureString(value: weather.mainData.temperatureFeelsLike))")
                                .font(.system(size: 15))
                            Spacer()
                        }

                    }
                    VStack {
                        HStack {
                            Text("Temperature max: \(temperatureString(value: weather.mainData.temperatureMax))")
                                .font(.system(size: 15))
                            Spacer()
                        }
                        HStack {
                            Text("Temperature min: \(temperatureString(value: weather.mainData.temperatureMin))")
                                .font(.system(size: 15))
                            Spacer()
                        }
                    }
                }.padding(.horizontal, 5)
            }.cornerRadius(10)
            .overlay(
                RoundedRectangle(cornerRadius: 10).stroke(Color.gray, lineWidth: 1)
            )
            Spacer()
        }.padding(.horizontal)
    }

    private func temperatureString(value: Float) -> String {
        return String(format: "%.2f", value)
    }
}

您的第二个屏幕文本与第一个屏幕文本不同,但我认为您需要如下内容(corse填充/间距/字体可以调整)

使用Xcode 12.1/iOS 14.1编写


真棒,简单!非常感谢你!
struct DemoView: View {
    var body: some View {
        VStack {
            Text("Description")
            Text("Visibility")
            Text("main")
            VStack {
                Text("Temperature Data")
                HStack(alignment: .top) {
                    Text("Temperature: 38 dsa das das das da sd")
                        .frame(maxWidth: .infinity, alignment: .leading)
                    Text("Temperature Max: 38")
                        .frame(maxWidth: .infinity, alignment: .leading)
                }
                HStack(alignment: .top) {
                    Text("Temperature fels like: 38")
                        .frame(maxWidth: .infinity, alignment: .leading)
                    Text("Temperature Min: 38")
                        .frame(maxWidth: .infinity, alignment: .leading)
                }
            }.padding(.top)
            Spacer()
        }.padding(.horizontal, 8)
    }
}