首页 > 解决方案 > 如何使用 SwiftUI 将图像和标签添加到标签栏项目

问题描述

使用此代码,我可以设置标签或图像,但不清楚如何设置两者。

    var body: some View {
        Text("Library")
            .font(.title)
//            .tabItemLabel(Image("first"))
            .tabItemLabel(Text("Library"))
            .tag(0)
    }

标签: iosswiftswiftui

解决方案


在 SwiftUI Essentials WWDC 演讲中,他们使用此示例代码在标签栏项目中同时包含图像和标签:

TabbedView {

  OrderForm()
  .tabItemLabel {
    Image(systemName: "square.and.pencil")
    Text("New Order")
  }
  OrderHistory()
  .tabItemLabel {
    Image(systemName: "clock.fill")
    Text("History")
  }
}
但是此时使用这种方法在 Xcode 11 beta 中添加 `tabItemLabel` 会引发编译器错误并且无法使用。所以这可能是一个错误,可能会在下一个版本中修复。

更新:

此问题已通过Xcode 11 beta 3修复。tabItemLabel重命名为tabItem并且可以像下面这样使用:

.tabItem {
    Image(systemName: "circle")
    Text("Tab1")
}

推荐阅读