如何在Swiftui中如何使用SF符号SF Symbols
在构建Swiftui项目时,如果是比较遵循Swiftui的结构,那么大家肯定都非常乐意使用Apple自带的SFsymbols图标。那么这个文章就是来介绍我是如何使用SFsymbols来构建我的应用的。
下载客户端
你需要使用SFsymbols客户端来查看所有支持的图标,这是一种非常便捷的方式。并且因为你只需要在应用中访问,而不是网页,所以打开速度和性能非常棒。
安装完成我们就可以看到图标了
使用图标
最简单的使用就是在Swiftui下使用systemName的Image。例如:
1 | Image(systemName: "star") |
那么这个systemName是哪里来的呢
选择我们需要的图标,按下command
+shift
+c
即可复制你选中的图标的名称。
版本适配
我们需要注意,一些新的图标是不支持旧版系统的。所以当你使用iOS16专属图标时,在iOS15的设备上则什么都不显示。
所以你需要注意图标的版本问题。
展开检查器,我们可以看到单色图标的适配版本。
在文本中插入图标
sfsymbol本身是字体图标,所以我们可以在文本中非常方便的插入图标。例如
1 | Text("hello,\(Image(systemName: "globe.europe.africa.fill"))") |
如果你认为文本中的图标样式有些问题,还可以进行微调。
1 | Text("hello,\(Image(systemName: "globe.europe.africa.fill").imageScale(.large))") |
更改图标的大小
因为本身图标是字体图标,所以我们可以通过调整字体大小的方法来调整图标的大小。例如:
1 | Image(systemName: "globe") |
所以和字体一样,你无法通过frame来调整大小。
更改图标的粗细
是的,因为使用了字体图标,你甚至可以改变图标的粗细
1 | Image(systemName: "keyboard") |
更改图标的颜色
更改方法与更改字体颜色的方法相同。都是使用foregroundColor
1 | Image(systemName: "doc") |
使用各种颜色图标
我们在使用一些面性图标时,会发现这些图标中间是镂空的。意味着当他们作为按钮时,显示会有点奇怪。或者我们想要镂空部分填充上自己想要的颜色,或者我们想自定义丰富多彩的颜色。sfsymbols提供了非常多的方法。
在检查器中我们可以看到有多种渲染方式可供我们选择。
并且向我们提供了多种渲染方式的预览。
默认为「单色」状态。
使用分层图标
1 | Image(systemName: "square.stack.3d.down.right.fill") |
使用调色盘图标
1 | Image(systemName: "person.3.sequence.fill") |
使用多色图标
1 | Image(systemName: "externaldrive.badge.plus") |
多色图标不支持自定义颜色。
总结
学会以上的调用方式基本可以实现你绝大多数需求了。如果有更多的需求,也可以访问下面的参考文章,可以帮助你了解到更多。
- 感谢你赐予我前进的力量