【问题标题】:SwiftUI set Text and Image on TabbedViewSwiftUI 在 TabbedView 上设置文本和图像
【发布时间】:2019-06-07 05:11:30
【问题描述】:

TabbedViewdocumentation 中,它说您可以使用LayoutView 添加文本和图像视图。我无法在任何地方找到对 LayoutView 的任何引用。

这行得通:

.tabItemLabel(Image("image"))

这很有效:

.tabItemLabel(Text("image"))

如何像 UITabBarItem 一样显示两者?

【问题讨论】:

    标签: ios swift swiftui


    【解决方案1】:

    在 Xcode Beta 3 中,此问题已得到修复。这是一个例子。

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

    【讨论】:

      【解决方案2】:

      使用以下代码在TabbedView中设置图片和文字,

      查看此帖子了解更多信息https://forums.developer.apple.com/thread/117472

      TabbedView {
                  tabOne()
                      .tabItemLabel {
                          Image(systemName: "image1")
                          Text("Tab 1")
                  }
                  tabTwo()
                      .tabItemLabel {
                          Image(systemName: "image2")
                          Text("Tab 2")
                  }
              }
      

      【讨论】:

      • 即使将tabOne()tabTwo() 替换为真实视图,我也无法编译。你能举一个有效的具体例子吗?
      • 这是当前测试版中的一个错误。链接帖子中的人也有同样的问题。
      • 我也陷入了困境。希望这个错误在版本中得到解决。
      • 看起来像一个错误。使用 SF 符号时同样的问题。请使用反馈辅助提交错误
      【解决方案3】:

      iOS & iPadOS 13 Beta 2 Release Notes 中有一个解决方法:

      解决方法:将传递给修饰符的视图包装在 VStack 中:

      MyView()
          .tabItemLabel(VStack {
              Image("resourceName")
              Text("Item")
          })
      

      请注意,它适用于我使用本地图像但不适用于 SF 符号(例如 Image(systemName: "clock.fill") 将不起作用)。


      更新:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-06
        • 1970-01-01
        • 1970-01-01
        • 2019-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多