小编d00*_*m3n的帖子

SwiftUI Sheets:与 navigationBarItems 不一致的工作表行为

Xcode:版本 11.3 (11C29)
目标:运行 iOS 13.3 的模拟器

在使用工作表和 SwiftUI 时,我遇到了难以诊断的不一致行为。当我:
*NavigationView本身使用一个按钮时,我可以始终如一地调用工作表并关闭它
* 使用NavigationView(即navigationBarItems)栏中的按钮,行为不一致:有时它切换没有问题,有时它会“锁定up”并且在再次运行之前大约 10 秒没有响应。在界面中四处滑动并执行其他操作似乎有助于“重置”功能。

最小可重现示例:

import SwiftUI

struct ContentView: View {
    @State var isModalShowing = false

    var body: some View {
        NavigationView {
            VStack {
                List {
                    ForEach(1..<5) { number in
                        Text(String(number))
                    }
                }
                Button("First Modal Button") {
                    self.isModalShowing = true
                }
            }
            .navigationBarItems(leading:
                Button("Second Modal Button") {
                    self.isModalShowing = true
            })
        }
        .sheet(isPresented: $isModalShowing) {
            TestView(isPresented: self.$isModalShowing)
        }
    }
}

struct TestView: …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

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

标签 统计

ios ×1

swift ×1

swiftui ×1