问题标签 [swiftui-navigationview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - iOS应用程序空白navigationView在某些设备模拟器上打开屏幕,而不是在其他设备模拟器上
我使用 XCode 12.2 在 Swift 5 中编写了一个应用程序
该应用程序及其所有功能可在以下模拟器上运行:iPhone 8、iPhone SE 2nd Gen、iPhone 11 Pro、iPhone 12、iPhone 12 Pro 和 iPhone 12 Mini
所有 iPad、iPhone 8 plus、iPhone 11、iPhone 11 Pro Max 和 iPhone 12 Pro Max 都会出现此问题。
我不确定该怎么做,并且正在考虑提交错误报告/TSI,但我想确保我的设计没有明显的问题。
下面是我的内容视图的结构。我删除了一些我认为无关紧要的东西,以简明扼要地说明结构。我还附上了正确运行的初始视图与失败的视图的图像。正确打开屏幕,问题打开屏幕。我还在真正的 iPhone SE 2nd gen 和 iPhone 8 上运行它,得到了相同的结果。提前致谢。
swiftui - ios 13 SwiftUI向后导航时如何避免导航视图内的TabView应用崩溃
我在 NavigationView 中使用 TabView,但是当我尝试向后导航时我的应用程序崩溃,它在 AppDelegate 类中显示此错误消息“线程 1:EXC_BAD_ACCESS(代码 = 2,地址 = 0x16ad5bff0)”。在 ios 14 设备中它工作正常,但在 ios 13 上崩溃。我认为这是 ios 13 中的 navigationView 问题。我正在寻找 iOS 13 中的替代方案并避免崩溃。
PS:我使用的是 xcode 12。
swiftui - 使用 ToolbarItemGroup 时项目之间的空间太大
当我在 SwiftUI 中使用工具栏组时,元素之间的空间太大。我把它HStack
放在iOS 13中,没关系。但是当我在 iOS 14 中将它与工具栏一起放置时,出现了问题。我怎样才能解决这个问题?
swift - 通过 isActive 的 NavigationLink 推送被立即解除
我想在 SwiftUI 中初始化一个导航堆栈。因此,我想在第一个视图出现后立即推送第二个视图。因此,我想使用一个@State var,我将其设置为 true onAppear,从而激活 NavigationLink。
但是,该方法不起作用(未经修改,请参见下文)。推送完成,然后立即关闭第二个视图(视频)。这是我的示例(Github Repo):
输出:
如果我在延迟一分钟后修改 onAppear 以将 linkActive 设置为 true。0.5秒就可以了。这里有什么问题?我希望 SecondView 留在屏幕上,因为我不明白为什么 isActive 被改回 false。
macos - 如何在 swiftUI 生命周期中为三列视图添加工具栏分隔符
我正在寻找一种方法来实现像 Mail.app 这样的三列布局的工具栏。此外,Notes.app 使用几乎相同的工具栏,两个应用程序之间唯一重要的区别是 Notes.app 看起来像是WindowStyle
a HiddenTitleBarWindowStyle
,而 Mail.app 看起来像 a Default|TitleBarWindowStyle
。
以下应该是正确的:
- 如果侧边栏被折叠,则有一个列表和详细信息视图
- 将列表与详细视图分开的分割线一直向上穿过工具栏。(这可以通过 a 来实现
HiddenTitleBarWindowStyle
) - 如果 Title 太长而无法放入导航列表,则垂直分割线将被打破:列表仍然像以前一样从 Detail View 中分割出来,但现在 Toolbar 看起来像一个
DefaultWindowStyle
只有一条小Divider()
- 线的 Toolbar .
我需要哪种WindowStyle
,WindowToolbarStyle
和配置的组合来实现此设置?.toolbar
编辑
我注意到无法删除 Notes.app 显示的分隔线。不过,我还没有在文档中找到对任何此类元素的引用。
代码示例
我已将问题提炼为一个简单的应用程序,其中大部分是工具栏内容。在我的原始代码中,我使用了两个嵌套NavigationView
的 s,而对于示例,我只使用了一个NavigationView
带有两个列表的。然而Toolbar
结果是一样的。
工具栏DefaultWindowStyle
此示例将导致永远不会显示将整体分成两部分Toolbar
的分隔线。Toolbar
第一个ToolbarItem
也位于Toolbar
. 我尝试了所有ToolbarItemPlacement
但没有一个导致项目移动到靠近标题的最左侧。
工具栏HiddenTitleBarWindowStyle
此示例将导致Toolbar
始终显示全高分隔线。即使标题太长。因此GeometryReader
添加了一个。这很好,直到侧边栏崩溃。的放置ToolbarItems
将不正确。此外,在自定义时Toolbar
,可能会删除标题,这应该是不可能的。
swiftui - 如何在 SwiftUI 中几秒钟后导航?
在 SwiftUI 和视图之间导航需要一些额外帮助。
在一个视图中,我有一个按钮ImagePicker
:
当用户选择或拍摄图像时,我想在关闭时显示一些微调器,直到图像被分类,然后导航并将此图像发送到另一个视图。
如何从loadImageAndNavigate
func 导航到另一个视图?
ios - 在根据条件显示的两个视图上使用相同的 `navigationBarTitle` 和 `navigationBarItems`
我有一个视图,它显示Text
视图以显示帮助文本,供用户点击加号图标以添加组。添加组后,它会显示List
视图。要显示导航栏,我需要同时调用和navigationBarTitle
查看。下面是我的代码片段。navigationBarItems
Text
List
有没有办法只调用一次而不是同时调用navigationBarTitle
和视图?navigationBarItems
Text
List
ios - 删除空间 NavigationTitle 但不删除后退按钮
我想在不删除后退按钮的情况下删除 NavigationTitle 空间。
我已经尝试过这个:
但这也删除了后退按钮。