Swift 没有标题的快捷选择器
我试图通过SwiftUI添加一个简单的选择器功能。基本上,我所期待的结果是这样的: 单击箭头时,用户应进入一个新视图,在该视图中选择所需的装置 我试过这样的方法:Swift 没有标题的快捷选择器,swift,swiftui,uipickerview,picker,Swift,Swiftui,Uipickerview,Picker,我试图通过SwiftUI添加一个简单的选择器功能。基本上,我所期待的结果是这样的: 单击箭头时,用户应进入一个新视图,在该视图中选择所需的装置 我试过这样的方法: var units = ["ltr", "usg", "impg"] @State private var selectedUnit = 0 var body: some View { Form { Section { V
var units = ["ltr", "usg", "impg"]
@State private var selectedUnit = 0
var body: some View {
Form {
Section {
VStack {
Picker(selection: $selectedUnit, label: Text("")) {
ForEach(0 ..< units.count) {
Text(self.units[$0])
}
}.frame(width: 42)
}
}
}.navigationBarTitle("Select unit")
}
var单位=[“ltr”、“usg”、“impg”]
@状态私有变量selectedUnit=0
var body:一些观点{
形式{
部分{
VStack{
选择器(选择:$selectedUnit,标签:文本(“”)){
ForEach(0..<单位计数){
文本(自身单位[$0])
}
}.框架(宽度:42)
}
}
}.navigationBarTitle(“选择单位”)
}
但是,一旦这是包装在一个表单,它需要标题等,并占用了太多的空间。我只想把单位作为我的基本视图。有什么方法可以做到这一点吗?您可以传递
标题,使其成为一行,或者使用MenuPickerStyle
import SwiftUI
struct CustomPicker: View {
var units = ["ltr", "usg", "impg"]
@State private var selectedUnit = 0
@Binding var title: String
var body: some View {
NavigationView{
Form {
Section {
Picker(selection: $selectedUnit, label: Text(title)) {
ForEach(0 ..< units.count) {
Text(self.units[$0])
}
}//.pickerStyle(MenuPickerStyle())
}
}.navigationBarTitle("Select unit")
}
}
}
struct CustomPicker_Previews: PreviewProvider {
static var previews: some View {
CustomPicker(title: .constant("Pre-Refuel FOB Indication"))
}
}
导入快捷界面
结构CustomPicker:视图{
风险值单位=[“长期利率”、“美国政府”、“进口”]
@状态私有变量selectedUnit=0
@绑定变量标题:字符串
var body:一些观点{
导航视图{
形式{
部分{
选择器(选择:$selectedUnit,标签:文本(标题)){
ForEach(0..<单位计数){
文本(自身单位[$0])
}
}//.pickerStyle(MenuPickerStyle())
}
}.navigationBarTitle(“选择单位”)
}
}
}
结构CustomPicker\u预览:PreviewProvider{
静态var预览:一些视图{
CustomPicker(标题:。常数(“加油前FOB指示”))
}
}
您可以传递标题
使其全部成为一行,或者使用MenuPickerStyle
import SwiftUI
struct CustomPicker: View {
var units = ["ltr", "usg", "impg"]
@State private var selectedUnit = 0
@Binding var title: String
var body: some View {
NavigationView{
Form {
Section {
Picker(selection: $selectedUnit, label: Text(title)) {
ForEach(0 ..< units.count) {
Text(self.units[$0])
}
}//.pickerStyle(MenuPickerStyle())
}
}.navigationBarTitle("Select unit")
}
}
}
struct CustomPicker_Previews: PreviewProvider {
static var previews: some View {
CustomPicker(title: .constant("Pre-Refuel FOB Indication"))
}
}
导入快捷界面
结构CustomPicker:视图{
风险值单位=[“长期利率”、“美国政府”、“进口”]
@状态私有变量selectedUnit=0
@绑定变量标题:字符串
var body:一些观点{
导航视图{
形式{
部分{
选择器(选择:$selectedUnit,标签:文本(标题)){
ForEach(0..<单位计数){
文本(自身单位[$0])
}
}//.pickerStyle(MenuPickerStyle())
}
}.navigationBarTitle(“选择单位”)
}
}
}
结构CustomPicker\u预览:PreviewProvider{
静态var预览:一些视图{
CustomPicker(标题:。常数(“加油前FOB指示”))
}
}
不清楚你的意思。你能提供更多关于你想要实现什么的细节吗,也许是一些模型?所以基本上用户应该能够将单位从kg更改为ltr、usg或impg。要做到这一点,他们应该点击kg旁边的箭头(见上面的屏幕截图),这将把他们带到一个新的导航控制器,在那里他们选择该装置。然后点击返回返回主视图。基本上,我相信这是新的默认iOS拾荒者取代轮拾荒者?基本上就像iOS设置appOk中的任何选择器一样,这就是它在表单中的工作方式,那么有什么不对呢?所以基本上我只想要可选元素。我在堆栈中的空间只有大约40点宽,但是表单需要提供标题,例如“单位”等。我只需要实际的单位标签和箭头,然后手动导航链接并在目标视图中列出。不清楚您的意思是什么。你能提供更多关于你想要实现什么的细节吗,也许是一些模型?所以基本上用户应该能够将单位从kg更改为ltr、usg或impg。要做到这一点,他们应该点击kg旁边的箭头(见上面的屏幕截图),这将把他们带到一个新的导航控制器,在那里他们选择该装置。然后点击返回返回主视图。基本上,我相信这是新的默认iOS拾荒者取代轮拾荒者?基本上就像iOS设置appOk中的任何选择器一样,这就是它在表单中的工作方式,那么有什么不对呢?所以基本上我只想要可选元素。我在堆栈中的空间只有大约40点宽,但是表单需要提供标题,例如“单位”等。我只需要实际的单位标签和箭头,然后手动导航链接并在目标视图中列出。