【发布时间】:2019-10-23 15:41:49
【问题描述】:
在 SwiftUI 中,我知道修饰符用于修改视图。修改视图时,修饰符返回包裹在_ModifiedContent中的视图。
将我的视图嵌入到 NavigationView 中并分配如下导航栏标题时:(如 Apple 官方教程中所示)
NavigationView {
Text("Hello, World!")
.navigationBarTitle(Text("My first SwiftUI App"))
}
...为什么导航栏标题的修饰符应用于Text,而不是NavigationView?
【问题讨论】:
-
记录在案:developer.apple.com/documentation/swiftui/view/…:“此修饰符仅在此视图位于 NavigationView 内部且可见时才生效。”
-
是的,我已经读过,但我觉得它在逻辑上没有意义,考虑到修饰符修改了它所应用的视图并且导航栏标题实际上是 nothing 与
Text对象有关。 -
你甚至可以将它设置在视图层次结构中更深的位置(即在 VStack 中的 Toggle 中的 Spacer 上......)我不知道为什么它会这样工作。