首页 > 解决方案 > 带有文本和图像的 SwiftUI 表单选择器

问题描述

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

这是代码的相关部分:

                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 中,但这会在其他行上产生编译时错误。任何的意见都将会有帮助。

标签: swiftswiftui

解决方案


以下应该可以很好地编译和工作(使用替换的系统映像进行测试,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)")
        }
    }
}

推荐阅读