如何解决如何在 SwiftUI 中向 TabItem 标签添加突出显示
PastView( settings ).tabItem
{
Image("past")
Text("Past")
}.tag(1)
效果很好 - 但只是文本颜色的变化非常微妙 - 哪个标签是“当前”并不明显。我想通过对图像做一些事情来使其更加明显。这些我都试过了
Image("past").shadow( radius:5 )
Image("past").border( Color.red,width:8 )
Image("past").background( Color.green )
但它们都没有任何效果 - 我真的不明白为什么
解决方法
尝试将“.accentColor(.red)”添加到 TabView。
, SwiftUI 中的TabItem
图像目前自定义非常有限。即使在 UIKit
中,您也会对 ImageView
容器而不是图像本身进行这些更改。
设计选中和未选中版本的图标,然后按如下方式使用它们。您可能还想在资产目录中为暗模式创建不同版本的图标。
@State private var selectedTab = 0
var body: some View {
TabView(selection: $selectedTab) {
ViewA()
.tabItem {
selectedTab == 0 ? Image("past-selected") : Image("past-unselected")
}.tag(0)
ViewB()
.tabItem {
selectedTab == 1 ? // etc ...
}.tag(1)
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。