iPad Pro上的SwiftUI NavigationView

时间:2019-07-16 02:42:59

标签: swiftui

我使用Apple SwiftUI教程代码。然后,将PreviewDevice设置为iPad Pro(12.9英寸)。但是预览有问题。 有人知道问题出在哪里吗?

enter image description here

6 个答案:

答案 0 :(得分:21)

您可以覆盖iPad上使用的默认splitView,方法是:通过设置     .navigationViewStyle(StackNavigationViewStyle())

在开发和调试期间以及尚未开发detailView()时非常有帮助。

答案 1 :(得分:18)

在我看来,使用StackNavigationViewStyle的不同之处在于,无需填充。

NavigationView {
  ...
}
.navigationViewStyle(StackNavigationViewStyle())

答案 2 :(得分:8)

从屏幕左侧滑动抽屉。

如果要卸下抽屉并使其恒定,则可以执行以下操作(请注意,填充物是使抽屉恒定的原因):

.navigationViewStyle(DefaultNavigationViewStyle())
        .padding(0)

.navigationViewStyle(DoubleColumnNavigationViewStyle())
        .padding(0)

注意:目前,这不适用于所有iPad视图。例如,在iPad 9.7in上,上述padding(0)将使纵向视图具有列表,而横向视图具有幻灯片。这在iPad 12.9in上也无法正常工作。如果您不包含填充,则它可以在9.7英寸的横向上使用,而不能在纵向上使用。

答案 3 :(得分:5)

在设计上,运行iOS 13的iPad上似乎隐藏了主视图(左侧的视图)。主视图在那里,您可以将其从屏幕的左边缘拉出。

不幸的是,除了对<?php if(!file_exists("welcome.txt")) { die("File not found"); } else { $file=fopen("welcome.txt","r"); } ?> 边缘应用非零填充之外,目前没有API可以选择退出此行为:

leading

答案 4 :(得分:1)

您已将身体嵌入NavigationView中。在iPad中,必须从左侧滑动抽屉才能查看内容视图。

删除NavigationView并观察其行为

要覆盖默认行为,请使用以下代码

NavigationView { ... } .navigationViewStyle(DoubleColumnNavigationViewStyle()) .padding()

答案 5 :(得分:1)

使用nalexn提供的代码,我提出了解决方案。

正如马修在同一篇文章中所评论的那样,横向模式下的iPhone仍会导致抽屉被隐藏,因此,使用() => void更适用于iPhone,而对于iPad,它将使用auto dialog = QFileDialog(parent, tr("Select Training"), library, "dir1;dir2"); dialog.setFileMode(QFileDialog::Directory); dialog.setOption(QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);

StackNavigationViewStyle()

希望这对我之后的所有帖子有帮助:D