经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » iOS » 查看文章
SwiftUI 简明教程之字体
来源:cnblogs  作者:Bruce2077  时间:2021/5/6 17:54:41  对本文有异议

本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容。

Eul 是一款 SwiftUI & Combine 教程 App(iOS、macOS),以文章(文字、图片、代码)配合真机示例(Xcode 12+、iOS 14+,macOS 11+)的形式呈现给读者。笔者意在尽可能使用简洁明了的语言阐述 SwiftUI & Combine 相关的知识,使读者能快速掌握并在 iOS 开发中实践。

系统内置字体

SwiftUI 中的字体,具有动态缩放的特性:

  • 在不同设备上会动态缩放
  • 在支持动态类型的 App 中,能根据手机设置的字体大小动态缩放

字体的调用:

  1. Text("Stay Hungry, Stay Foolish!").font(.largeTitle)


自定义字体

  1. 添加字体文件 ( Legends.otf ) 至工程

  2. Info.plist 中配置相应的字体

  3. 通过以下方法调用自定义字体

    1. // 根据设备设置的字体动态缩放,默认以 .body 大小为参考值放大或缩小
    2. public static func custom(_ name: String, size: CGFloat) -> Font
    3. // 根据设备设置的字体动态缩放,参考值可自定义(relativeTo)
    4. public static func custom(_ name: String, size: CGFloat, relativeTo textStyle:
    5. Font.TextStyle) -> Font
    6. // 固定字体大小
    7. public static func custom(_ name: String, fixedSize: CGFloat) -> Font

ScaledMetric

这里顺便提一下这个属性修饰器,它的定义和初始化方法如下:

  1. @propertyWrapper struct ScaledMetric<Value> where Value : BinaryFloatingPoint
  2. init(wrappedValue: Value)
  3. // Creates the scaled metric with an unscaled value using the default scaling.
  4. init(wrappedValue: Value, relativeTo: Font.TextStyle)
  5. // Creates the scaled metric with an unscaled value and a text style to scale relative to.

从中我们得知,它只能修饰浮点类型的数据。它的作用是什么呢,就是根据系统设置的字体大小,动态地改变浮点类型的值大小。

比如,一个图片大小是 150 x 150,如果我们不动态地缩放,它在任何系统设置的字体大小下,都是该尺寸,如果我们将他的宽高通过如下代码设置为动态值,它就可以动态的缩放了。

  1. @ScaledMetric(relativeTo: .title) var imgSize: CGFloat = 150

本文为 Eul 样章,如果您喜欢,请移步 AppStore/Eul 查看更多内容。

原文链接:http://www.cnblogs.com/bruce2077/p/14667269.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号