SwiftUI中NavigationView返回按钮过多问题求助
问题根源
你写了两个独立的NavigationView,这会导致界面叠加、导航逻辑混乱,进而出现多余返回按钮;阿拉伯语选项位置靠下是因为两个NavigationView叠加后,第二个List的内容显示在了第一个List的下方。
修复方案
1. 合并NavigationView
整个应用只需要一个根NavigationView,把所有导航项整合到同一个List中,用Section分组来保持结构清晰。
2. 调整阿拉伯语选项位置
直接修改NavigationLink的顺序,把阿拉伯语选项移到你想要的位置(比如顶部)。
修改后的代码
NavigationView { List { // 将阿拉伯语选项移至顶部 NavigationLink("Arabic"){ Arabic() } NavigationLink("English"){ English() } NavigationLink("Coptic"){ Coptic() } NavigationLink ("Hazzat / Lyrics"){ Hazzat() } // 用Section分组宗教服务类选项 Section(header: Text("Religious Services")) { NavigationLink("Liturgy"){ ArLiturgy() } NavigationLink("Offering of Incense"){ English() } NavigationLink("Tasbeha"){ English() } } } .navigationTitle("My App") // 添加导航标题优化界面 }
额外注意事项
- 所有子页面(如
Arabic、English等)内部不要重复嵌套NavigationView,否则仍会出现多余返回按钮。 - 若使用iOS 16及以上版本,推荐用
NavigationStack替代NavigationView,它的导航层级管理更直观、不易出错。
内容的提问来源于stack exchange,提问作者Programmer Pro
相关产品推荐
相关产品推荐

