Ios 未在SwiftUI选项卡视图中调整图像大小
我正在尝试在SwiftUI选项卡视图中使用自定义图标。我看不出这段代码有什么问题——我在图像中包含了Ios 未在SwiftUI选项卡视图中调整图像大小,ios,swiftui,Ios,Swiftui,我正在尝试在SwiftUI选项卡视图中使用自定义图标。我看不出这段代码有什么问题——我在图像中包含了可调整大小的,但它没有缩小比例 HomeView() .tag(0) .tabItem { VStack { Image("tab-home") .resizable() .aspectRatio(CGSize(width: 20, heigh
可调整大小的
,但它没有缩小比例
HomeView()
.tag(0)
.tabItem {
VStack {
Image("tab-home")
.resizable()
.aspectRatio(CGSize(width: 20, height: 20), contentMode: .fit)
Text("Home")
}
}
当我看到这个时,图像是全尺寸的
当图像
是SF符号时,它可以正常工作
有什么想法吗,SwiftUI忍者?这在UIKit中是一样的,解决方案是只为你的图像使用合适的尺寸
如果您可以接受系统为您选择图像大小,您实际上可以添加一个自定义的
符号图像集来实现这一点。您可以使用任何矢量图标作为基础
导出现有符号
要获得我们需要的符号模板,您可以打开,选择一个图标并将其导出
在草图中编辑
在草图(或您选择的其他工具)中打开。注意,定义了一个独特的结构。我们需要遵循这个结构。
在中间,有一个名为“正则-m”的大小,定义这一个将满足我们的目的。打开“形状”组并将路径元素放在其中
您可以删除其他尺寸。然后,使整个页面可导出并导出为SVG
在Xcode中导入
在XCAsset文件中,添加一个新的符号图像集
,并将新创建的SVG文件拖放到其中
现在,您可以使用在XCAsset文件中定义的名称简单地引用图像,正如您所期望的那样。图像会自动调整大小,并正确使用强调色:
TabView {
Text("Hello, world 1").tabItem {
Image("your.image.name")
Text("title1")
}
}
谢谢我以为它可能已经在SwiftUI中解决了,但是没有。是的,你可以使用。renderingMode(.original)解决它。我一直在这样做,但是当在选项卡视图中使用自定义符号时,图像比它应该的小,实际上即使我跳过了编辑步骤,情况也是如此(导出SFSymbol SVG,然后直接在Xcode中将其作为符号资产导入,无需编辑)。知道为什么吗?