0

我希望在 HStack 中的 iOS 应用程序上让两个可编辑的 TextFields 并排放置。但是,每当我将其放入我的视图文件中时,我都会收到一个错误(“静态成员 'leading' 不能用于类型 'Horizo​​ntalAlignment' 的实例”):

var body: some View {
    VStack(alignment: .leading) {
        ...
        VStack(alignment: .leading) {
            HStack {
                TextField("\(aCountry.populationTitle)", text: $aCountry.populationTitle)
                TextField("\(aCountry.population)", text: $aCountry.population)
        }...

如果我在同一个 HStack 中有一个 TextField 和两个或多个 Text 项,也会发生这种情况。

为什么会发生这种情况的可能解决方案或原因?如果我删除其中一个 TextField 或在同一个 HStack 中只有一个 TextField 和一个 Text 项,则应用程序运行顺利(没有错误)。

使用 xcode11.4。

谢谢。

[编辑]

MasterView.swift 的主体:

struct DetailView: View {
@ObservedObject var aCountry: Country
var body: some View {
    VStack(alignment: .leading) {
        Image("\(aCountry.imageName)").resizable().frame(width: 200, height: 200)
        TextField("\(aCountry.name)", text: $aCountry.name)
            .font(.headline)
        TextField("\(aCountry.continent)", text: $aCountry.continent)
            .font(.subheadline)

        VStack(alignment: .leading) {
            HStack {
                TextField("Population:", text: $aCountry.populationTitle)
                TextField("\(aCountry.population)", text: $aCountry.population)
            }
     }}}
4

1 回答 1

0

你没有提供 Country 类,所以我创建了一个。以下测试适用于 HStack 中的 TextFields 和它

class Country: ObservableObject {
    @Published var name = "countryx"
    @Published var continent = "continentx"
    @Published var populationTitle = "populationTitlex"
    @Published var population = "populationx"
    @Published var imageName = "imageNamex"
}

struct ContentView: View {

@ObservedObject var aCountry: Country

var body: some View {
    VStack(alignment: .leading) {
        // Image("\(aCountry.imageName)").resizable().frame(width: 200, height: 200)
        TextField("\(aCountry.name)", text: $aCountry.name).font(.headline)
        TextField("\(aCountry.continent)", text: $aCountry.continent).font(.subheadline)
        VStack(alignment: .leading) {
            HStack {
                TextField("Population:", text: $aCountry.populationTitle)
                TextField("\(aCountry.population)", text: $aCountry.population)
            }
        }
    }
}
}
于 2020-04-15T05:23:25.840 回答