【问题标题】:SwiftUI custom tabItemSwiftUI 自定义 tabItem
【发布时间】:2021-07-28 14:27:03
【问题描述】:

我有一个TabView 喜欢:

   TabView(selection: $selected) {
        HomeView(homeViewModel: homeViewModel)
        .padding()
        .tabItem {
            Image("Home").renderingMode(.original).resizable().frame(width: 23, height: 23)
        }
        .tag(1)

        SearchView()
        .padding()
        .tabItem {
            if #available(iOS 14.0, *) {
                Label("Second", systemImage: "2.circle")
            } else {
                // Fallback on earlier versions
            }
        }
        .tag(2)
    }

我正在尝试自定义 tabItem:

           .tabItem {
                Image("Home").renderingMode(.original).resizable().frame(width: 23, height: 23)
            }

图片未正确调整大小,显示很大:

【问题讨论】:

  • 你试过去掉renderingMode(.original)吗?
  • 是的...已经尝试删除这个,仍然是同样的问题
  • @GurmukhSingh 您可以使用 SF 符号,例如使用“房子”图像。只需执行Image(systemName: "house")。还是需要自定义图像?如果是这样,您可能只需要先在图像编辑器中调整它的大小。
  • 尝试宽高比。 .fit
  • 你必须制作自己的自定义标签视图!

标签: swift swiftui


【解决方案1】:

tabItem 图像视图无法调整大小,因为 UIKit(https://stackoverflow.com/a/29874619/3585796)

您有两个选择:准备具有所需尺寸的资产或使用来自 SF Symbols 的图像

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 1970-01-01
    相关资源
    最近更新 更多