8

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

这有效:

.tabItemLabel(Image("image"))

这有效:

.tabItemLabel(Text("image"))

我怎样才能像 UITabBarItem 一样显示两者?

4

3 回答 3

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")
            }
        }
于 2019-06-07T05:35:56.803 回答
2

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")
}
于 2019-06-19T00:32:19.370 回答
2

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

.tabItem {
    Image(systemName: "circle")
    Text("Hello")
}
于 2019-07-02T20:47:36.003 回答