如何删除SwiftUI中隐藏标签留下的填充/对齐选择器值?

如何删除SwiftUI中隐藏标签留下的填充/对齐选择器值?,swiftui,swiftui-picker,Swiftui,Swiftui Picker,我正在尝试将我的选择器隐藏标签值左对齐到表单()中的另一个文本字段。删除显示的选择器值中的8px填充的最佳方法是什么 导入快捷界面 结构ContactFormView:视图{ var国家=[“马来西亚”、“新加坡”、“日本”] @状态变量名称:String=“” @State var mobile:String=“” @State var mobilecocountry:String=“马来西亚” var body:一些观点{ 导航视图{ 形式{ 章节(标题:文本(“详细信息”)){ TextF

我正在尝试将我的
选择器
隐藏标签值左对齐到表单()中的另一个
文本字段
。删除显示的选择器值中的
8px
填充的最佳方法是什么

导入快捷界面
结构ContactFormView:视图{
var国家=[“马来西亚”、“新加坡”、“日本”]
@状态变量名称:String=“”
@State var mobile:String=“”
@State var mobilecocountry:String=“马来西亚”
var body:一些观点{
导航视图{
形式{
章节(标题:文本(“详细信息”)){
TextField(“名称”,text:$Name)
.边框(颜色.红色,宽度:1)
HStack{
选择器(选择:$mobileCountry,标签:EmptyView()){
ForEach(国家,id:\.self){
文本($0)。边框(颜色。红色)
}
}
.scaledofit()
.标签隐藏()
.边框(颜色.红色,宽度:1)
文本字段(“移动”,文本:$Mobile)
.边框(颜色.红色,宽度:1)
}
}
}
.navigationBarTitle(“新联系人”)
}
}
}

您最好的选择可能是在选择器上使用负数填充:

Picker(选择:$mobileCountry,标签:EmptyView()){
ForEach(国家,id:\.self){
文本($0)。边框(颜色。红色)
}
}
.scaledofit()
.标签隐藏()
.边框(颜色.红色,宽度:1)
.padding(.卧式,-8)
在Xcode 12.5中加载代码,添加负号填充将按照您想要的方式对齐文本

直觉上,我会选择
.padding(.leading,-8)
来删除选择器前缘的填充,但这样做时,选择器和文本字段之间的间隙会变大

对两个水平值应用负填充可以使我的间距保持相同。但我建议您在代码中同时尝试这两种方法,看看哪一种对您最有意义