我\xe2\x80\x99已将此作为一个错误提交给Apple(FB12119822),因为我\xe2\x80\x99m相当确定\xe2\x80\x99s我的代码没有任何问题,但在这里发布是为了后代和以防万一其他人已经找到了解决方法。
\n在 NavigationSplitView 中的列表和详细信息部分之间导航时,标题栏意外地在内联和大显示模式之间跳转。在某些情况下,标题看起来是空的,直到导航序列完成,之后它突然以大显示模式呈现,将视图内容向下推。
\n导航转场将原始标题动画化为导航栏的 \xe2\x80\x9cBack\xe2\x80\x9d 按钮,同时将目标\xe2\x80\x99s 导航栏标题动画化为默认(大)显示模式
\n导航转场将原始标题动画化到导航栏的 \xe2\x80\x9cBack\xe2\x80\x9d 按钮中,但不显示目标标题。转场完成后,\xe2\x80\x9dBack\xe2\x80\x9d 按钮文本将替换为默认文本 (\xe2\x80\x9cBack\xe2\x80\x9d),并且目标标题会突然出现。(屏幕录制)
\n当 NavigationSplitView\xe2\x80\x99s 列表有selection参数时,会出现上述行为。navigationDestination当应用修改器时,源列表和目标详细视图的标题栏都会受到影响。(屏幕录制)
List(selection:)import SwiftUI\n\nfileprivate struct Item: Identifiable, Hashable {\n let id = UUID()\n}\n\nfileprivate let items = (0...10).map { _ in Item() }\n\nstruct ListWithSelectionTitleBarJumpExample: View {\n @State var selectedItem: UUID?\n\n var body: some …Run Code Online (Sandbox Code Playgroud) 还有其他人在 iOS 16.1 中遇到这个问题吗?NavigationSplitView在NavigationTitle视图加载后加载?\xe2\x80\x93 在 iOS 16.0 上运行良好。(https://i.stack.imgur.com/G0IUG.gif)
它实际上是相同的代码,但它只在 iOS 16.1 上给我带来了问题。
\n更新:这在 iOS 16.2 和 16.3 上仍然是一个问题。
\n@Hunter更新:Apple 似乎已在 iOS 16.4 Beta 1 上修复了此问题。
\nswiftui ios16 swiftui-navigationsplitview navigationsplitview