【发布时间】:2020-07-27 22:23:36
【问题描述】:
我希望在 HStack 中的 iOS 应用程序上让两个可编辑的 TextField 并排放置。但是,每当我将它放入我的视图文件时,我都会收到一个错误(“静态成员 'leading' 不能用于类型 'HorizontalAlignment' 的实例”):
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)
}
}}}
【问题讨论】:
-
TextField在HStack中的浏览量并没有什么不好。这是编译器无法检测到错误位置的情况。您能提供完整的body视图和Country类型声明吗? -
一个 HStack 中可以有多个 TextField。向我们展示更多您的代码。从给定的 sn-p 看起来你缺少一个 }
-
我已经编辑了原始帖子,添加了正文视图和国家类型声明(在我的代码文件中,所有冒号和括号以及缩进都是正确的)
标签: swift xcode swiftui xcode11 xcode11.4