【问题标题】:SwiftUI Form Picker with text and Image带有文本和图像的 SwiftUI 表单选择器
【发布时间】:2020-02-26 01:17:16
【问题描述】:

我正在尝试创建一个表单选择器,在顶层显示当前选择的图像资源,当用户选择它以显示详细信息时,我希望它显示所有可用的图像资源。

这里是相关的代码部分:

                Picker("Background image:", selection: $task.background) {
                    ForEach(0 ..< backgroundImages.count) {
                        Image("Background\($0)").resizable().frame(width: 100, height: 35, alignment: .center)
                        Text("Background\($0)")
                    }
                }

问题在于,我在详细信息屏幕中得到:

图像是空白的,图像和文本出现在 2 个不同的行上。

我尝试将图像和文本行包装在 HStack 中,但这会在其他行上产生编译时错误。任何建议都会有所帮助。

【问题讨论】:

    标签: swift swiftui


    【解决方案1】:

    以下内容应该可以很好地编译和工作(使用替换的系统映像进行测试,Xcode 11.2)

    Picker("Background image:", selection: $task.background) {
        ForEach(0 ..< backgroundImages.count) { i in
            HStack {
                Image("Background\(i)").resizable().frame(width: 100, height: 35, alignment: .center)
                Text("Background\(i)")
            }
        }
    }
    

    【讨论】:

    • 感谢您的回复。这解决了我的问题的前半部分,因为它将文本和图像显示在同一行上。不幸的是,图像虽然在主视图中正确显示,但在详细视图中仍然是一个白色矩形。请记住,这是一个表单中的选取器,因此它不会显示为轮子选取器,而是显示为主/详细信息选取器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    相关资源
    最近更新 更多