小编Nei*_*eil的帖子

从列表项生成 SwiftUI 模式表

我正在尝试复制类似的行为NavigationLink,但在工作表而不是新屏幕上显示新视图。

目前,列表会迭代我的结构microphones数组,并使用参数和按钮填充每个条目以显示一个工作表,其中显示该工作表的其余信息MicrophoneForEachMicrophone.modelMicrophone

但是,列表中的第一个条目显示 的详细信息表microphones[1],列表中的所有其他条目显示 的详细信息表microphones[0]。是否可以通过这种方式动态生成sheet的内容?

这是生成列表的菜单视图:

    import SwiftUI

struct BrandMenu: View {

var brand: String

var filteredMicrophones: [Microphone] {
    let allMicrophones: [Microphone] = Bundle.main.decode("MicrophoneTestData.json")
    var filtered: [Microphone] = []
    for microphone in allMicrophones {
        if microphone.brand == brand {
            filtered.append(microphone)
        }
    }
    let sorted = filtered.sorted { $0.model < $1.model }
    return sorted
}

@State private var showingDetails = false



var body: some View {
        List(filteredMicrophones) { …
Run Code Online (Sandbox Code Playgroud)

swiftui swiftui-list

6
推荐指数
0
解决办法
4526
查看次数

iOS14 使用 @State 绑定引入错误

下面的 swiftUI 代码在 iOS13 上运行良好,但在使用 iOS14 进行测试时,我在尝试显示模式表时遇到了由 force-unwrapped optional 引起的致命错误。据我所知,工作表永远不应该尝试为 selectedModel 显示一个 nil 值,因为 ShowDetails 仅在分配 selectedModel 后才变为真?

struct SpeakerBrandMenu: View {
    var filteredSpeakers: [Speaker] {
        // An array of Speaker objects
        }
        
    @State var selectedModel: Speaker?
    @State private var showingDetails = false

    var body: some View {
        List{       
        ForEach(filteredSpeakers) { speaker in
            HStack {
                Button(action: {
                    self.selectedModel = speaker
                    self.showingDetails = true
                }) {
                    SpeakerModelRow(speaker: speaker).contentShape(Rectangle())
                }
                .buttonStyle(PlainButtonStyle())

                Spacer()
                
                Button(
                //unrelated
                ).padding(5)
              }
            }
        } .sheet(isPresented: self.$showingDetails) { SpeakerDetailView(speaker: …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui ios14

5
推荐指数
1
解决办法
719
查看次数

标签 统计

swiftui ×2

ios ×1

ios14 ×1

swift ×1

swiftui-list ×1