小编lcp*_*nix的帖子

iPadOS - 在 SwiftUI 中以编程方式关闭侧边栏

我正在制作一个可以在 iOS 和iPadOS中使用SwiftUI.navigationViewStyle(DoubleColumnNavigationViewStyle())完美运行的应用程序,但是在 iPad 中,当我使用修饰符时,会出现一个侧边栏,NavigationView我想知道是否有办法以编程方式关闭侧边栏,通常用户可以通过触摸屏幕左上角的按钮来关闭侧边栏,但这就是用户交互。可以直接用代码关闭侧边栏吗?

发现SwiftUI-Introspect可以用来完成这个要求,但我想在没有外部库的情况下完成它。

这是在iPadOS中重现侧边栏的简单代码:

import SwiftUI
@main
struct MyApp: App {
    var body: some Scene {
        WindowGroup {
            NavigationView {
                if UIDevice.current.userInterfaceIdiom == .pad {
                    Text("Sidebar here")
                    Text("Content here")
                }
            }.navigationViewStyle(DoubleColumnNavigationViewStyle())
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

sidebar ipad swiftui

6
推荐指数
1
解决办法
587
查看次数

标签 统计

ipad ×1

sidebar ×1

swiftui ×1