使用 iPad 时如何避免转到 NavigationLink 目标?

Posted

技术标签:

【中文标题】使用 iPad 时如何避免转到 NavigationLink 目标?【英文标题】:How to avoid to go to the NavigationLink target when using an iPad? 【发布时间】:2020-11-05 10:37:21 【问题描述】:

如果我有一个带有以下代码的主/详细视图的应用程序:

import SwiftUI

struct ContentView: View 
    var body: some View 
        NavigationView 
            NavigationLink(destination: DetailView()) 
                Text("Go to details")
            
        
    


struct DetailView: View 
    var body: some View 
        Text("Hello, world!")
            .padding()
    

这里的问题是,我希望在 iPad 上用户首先需要查看母版页,而不是直接查看详细信息视图。但默认情况下,如果您启动应用程序,它看起来像这样:

当应用在 iPad 上启动时如何保持主视图打开?

【问题讨论】:

您可以检查设备类型,如果是 .pad 则显示母版页 你能添加一些示例代码吗?然后我会接受它作为答案。 这是否回答了您的问题***.com/a/61591692/12299030? 这能回答你的问题吗? SwiftUI: unwanted split view on iPad 【参考方案1】:

您可以检查设备类型,如果是 .pad 则显示母版页:

if UIDevice.current.userInterfaceIdiom == .pad
//Show master page

【讨论】:

以上是关于使用 iPad 时如何避免转到 NavigationLink 目标?的主要内容,如果未能解决你的问题,请参考以下文章

单击指向超链接的按钮时,如何避免原始页面转到不同的页面?

有没有办法避免提示用户允许在 Safari(iPhone/iPad)中的每次加载时共享位置?

如何制作只有 ipad 应用程序的肖像?

如何避免返回到带有 HTML id 属性标记的上一个部分,而是转到上一个网站?

如何将 Brightcove 播放器保留在应用程序中而不跳转到 safari

部署角度应用程序时如何避免路由更改?