SwiftUI底部导航Tab无法显示问题求助
问题:SwiftUI底部导航Tab未显示
我正在按照YouTube教程学习SwiftUI底部导航实现,进行到教程42秒步骤时,发现底部导航Tab并未显示。
以下是我的全部代码:
// // ContentView.swift // bottomnav // // Created by juan on 1/24/24. // import SwiftUI struct ContentView: View { var body: some View { TabView { ViewA() ViewB() } } } struct ViewA: View { var body: some View { ZStack { Circle() .frame(width: 200, height: 200) .foregroundColor(.green) Text("A") } } } struct ViewB: View { var body: some View { ZStack { Circle() .frame(width: 200, height: 200) .foregroundColor(.blue) Text("B") } } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } }
当前应用界面仅展示视图内容,无底部导航栏:
预期效果应显示可切换的底部Tab:
请问我哪里操作出错了?
解决方案
你没给TabView内的每个视图添加.tabItem修饰符,这是SwiftUI显示底部导航Tab的必要条件——只有通过这个修饰符定义了Tab的文字或图标,底部导航栏才会渲染出来。
修改后的ContentView代码如下:
struct ContentView: View { var body: some View { TabView { ViewA() .tabItem { Text("View A") // 可按需添加图标,示例: // Image(systemName: "circle.fill") } ViewB() .tabItem { Text("View B") // Image(systemName: "square.fill") } } } }
添加.tabItem后,底部导航栏会正常显示,你可以在修饰符内设置文字、SF Symbols图标或自定义图片,以此匹配教程里的预期效果。
内容的提问来源于stack exchange,提问作者user17281101
相关产品推荐
相关产品推荐

