SwiftUI 在 TabbedView 上设置文本和图像
Posted
技术标签:
【中文标题】SwiftUI 在 TabbedView 上设置文本和图像【英文标题】:SwiftUI set Text and Image on TabbedView 【发布时间】:2019-06-07 05:11:30 【问题描述】:在TabbedView
的documentation 中,它说您可以使用LayoutView 添加文本和图像视图。我无法在任何地方找到对 LayoutView 的任何引用。
这行得通:
.tabItemLabel(Image("image"))
这很有效:
.tabItemLabel(Text("image"))
如何像 UITabBarItem 一样显示两者?
【问题讨论】:
【参考方案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")
【讨论】:
以上是关于SwiftUI 在 TabbedView 上设置文本和图像的主要内容,如果未能解决你的问题,请参考以下文章
SwiftUI:如何更改 TabbedView 中所选项目的图像
SwiftUI TabbedView 只显示第一个选项卡的内容
Xamarin 表单 - 如何在 TabbedView (iOS) 上自定义 VoiceOver