SwiftUI 在 TabbedView 上设置 Text 和 Image
SwiftUI set Text and Image on TabbedView
在 TabbedView
的 documentation 中,它说您可以使用 LayoutView 添加文本视图和图像视图。我无法在任何地方找到对 LayoutView 的任何引用。
这个有效:
.tabItemLabel(Image("image"))
这有效:
.tabItemLabel(Text("image"))
我怎样才能像 UITabBarItem 那样显示两者?
使用以下代码在TabbedView
、
中设置图片和文字
查看此 post 了解更多信息 https://forums.developer.apple.com/thread/117472
TabbedView {
tabOne()
.tabItemLabel {
Image(systemName: "image1")
Text("Tab 1")
}
tabTwo()
.tabItemLabel {
Image(systemName: "image2")
Text("Tab 2")
}
}
iOS & iPadOS 13 Beta 2 Release Notes 中有一个解决方法:
Workaround: Wrap the views you pass to the modifier in a VStack:
MyView()
.tabItemLabel(VStack {
Image("resourceName")
Text("Item")
})
请注意,它对我使用本地图像有效,但对 SF Symbols 无效(例如 Image(systemName: "clock.fill")
无效)。
更新:
此问题已通过 Xcode 11 beta 3 修复。 tabItemLabel
重命名为 tabItem
并且可以像下面这样使用:
.tabItem {
Image(systemName: "plus")
Text("Tab1")
}
在 Xcode Beta 3 中,这已得到修复。这是一个例子。
.tabItem {
Image(systemName: "circle")
Text("Hello")
}
在 TabbedView
的 documentation 中,它说您可以使用 LayoutView 添加文本视图和图像视图。我无法在任何地方找到对 LayoutView 的任何引用。
这个有效:
.tabItemLabel(Image("image"))
这有效:
.tabItemLabel(Text("image"))
我怎样才能像 UITabBarItem 那样显示两者?
使用以下代码在TabbedView
、
查看此 post 了解更多信息 https://forums.developer.apple.com/thread/117472
TabbedView {
tabOne()
.tabItemLabel {
Image(systemName: "image1")
Text("Tab 1")
}
tabTwo()
.tabItemLabel {
Image(systemName: "image2")
Text("Tab 2")
}
}
iOS & iPadOS 13 Beta 2 Release Notes 中有一个解决方法:
Workaround: Wrap the views you pass to the modifier in a VStack:
MyView()
.tabItemLabel(VStack {
Image("resourceName")
Text("Item")
})
请注意,它对我使用本地图像有效,但对 SF Symbols 无效(例如 Image(systemName: "clock.fill")
无效)。
更新:
此问题已通过 Xcode 11 beta 3 修复。 tabItemLabel
重命名为 tabItem
并且可以像下面这样使用:
.tabItem {
Image(systemName: "plus")
Text("Tab1")
}
在 Xcode Beta 3 中,这已得到修复。这是一个例子。
.tabItem {
Image(systemName: "circle")
Text("Hello")
}