SwiftUI使用NavigationStack时导航栏消失问题求助
核心问题:你把navigationTitle和navigationBarTitleDisplayMode修饰符加在了NavigationStack容器本身,而NavigationStack要求这些导航相关修饰符必须应用在它的直接子视图上——这是它和旧版NavigationView的关键区别之一。
你原来的UIKit外观配置代码完全有效,不需要修改,只需要调整SwiftUI视图的修饰符位置即可:
struct ScreenView: View { var body: some View { NavigationStack { List { NavigationLink("Row", destination: Text("Tapped on row")) } // 将导航修饰符移到NavigationStack的直接子视图(List)上 .navigationTitle("List") .navigationBarTitleDisplayMode(.inline) } } }
调整后,NavigationStack就能正确识别导航栏配置,显示你设置的橙色背景和白色标题样式。
内容的提问来源于stack exchange,提问作者iOSdeveloper
相关产品推荐
相关产品推荐

