国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

聊聊 iOS16 中的三種新字體寬度樣式

移動開發 iOS
在 Xcode 14.1 中,SwiftUI 提供了兩個新的 API 設置這種新的寬度樣式。 width(_:) 和 fontWidth(_:)。

前言

在 iOS 16 中,Apple 引入了三種新的寬度樣式字體到 SF 字體庫。

  1. Compressed
  2. Condensed
  3. Expend

圖片

UIFont.Width

Apple 引入了新的結構體 UIFont.Width,這代表了一種新的寬度樣式。

目前已有的四種樣式。

  • standard:我們總是使用的默認寬度。
  • compressed:最窄的寬度樣式。
  • condensed:介于壓縮和標準之間的寬度樣式。
  • expanded:最寬的寬度樣式。

圖片

SF 字體和新的寬度樣式

如何將 SF 字體和新的寬度樣式一起使用

為了使用新的寬度樣式,Apple 有一個新的 UIFont 的類方法來接收新的 UIFont.Width 。

class UIFont : NSObject {
class func systemFont(
ofSize fontSize: CGFloat,
weight: UIFont.Weight,
width: UIFont.Width
) -> UIFont
}

你可以像平常創建字體那樣來使用新的方法。

let condensed = UIFont.systemFont(ofSize: 46, weight: .bold, width: .condensed)
let compressed = UIFont.systemFont(ofSize: 46, weight: .bold, width: .compressed)
let standard = UIFont.systemFont(ofSize: 46, weight: .bold, width: .standard)
let expanded = UIFont.systemFont(ofSize: 46, weight: .bold, width: .expanded)

SwiftUI

更新:在 Xcode 14.1 中,SwiftUI 提供了兩個新的 API 設置這種新的寬度樣式。 width(_:) 和 fontWidth(_:)。

目前(Xcode 16 beta 6),這種新的寬度樣式和初始值設定只能在 UIKit 中使用,幸運的是,我們可以在 SwiftUI 中輕松的使用它。

有很多種方法可以將 UIKit 集成到 SwiftUI 。我將會展示在 SwiftUI 中使用新寬度樣式的兩種方法。

  1. 將 UIfont 轉為 Font。
  2. 創建 Font 擴展。

將 UIfont 轉為 Font

我們從 在 SwiftUI 中如何將 UIFont 轉換為 Font[1] 中了解到,Font 有初始化方法可以接收 UIFont 作為參數。

步驟如下

  1. 你需要創建一個帶有新寬度樣式的 UIFont。
  2. 使用該 UIFont 創建一個 Font 。
  3. 然后像普通 Font 一樣使用它們。

struct NewFontExample: View {
// 1
let condensed = UIFont.systemFont(ofSize: 46, weight: .bold, width: .condensed)
let compressed = UIFont.systemFont(ofSize: 46, weight: .bold, width: .compressed)
let standard = UIFont.systemFont(ofSize: 46, weight: .bold, width: .standard)
let expanded = UIFont.systemFont(ofSize: 46, weight: .bold, width: .expanded)

var body: some View {
VStack {
// 2
Text("Compressed")
.font(Font(compressed))
Text("Condensed")
.font(Font(condensed))
Text("Standard")
.font(Font(standard))
Text("Expanded")
.font(Font(expanded))
}
}
}

  • 創建帶有新寬度樣式的 UIFont。
  • 用 UIFont 初始化 Font, 然后傳遞給 .font 修改。

創建一個 Font 擴展

這種方法實際上和將 UIfont 轉為 Font 是同一種方法。我們只需要創建一個新的 Font 擴展在 SwiftUI 中使用起來更容易一些。

extension Font {
public static func system(
size: CGFloat,
weight: UIFont.Weight,
width: UIFont.Width) -> Font
{
// 1
return Font(
UIFont.systemFont(
ofSize: size,
weight: weight,
width: width)
)
}
}

創建一個靜態函數傳遞 UIFont 需要的參數。然后,初始化 UIFont 和創建 Font 。

我們就可以像這樣使用了。

Text("Compressed")
.font(.system(size: 46, weight: .bold, width: .compressed))
Text("Condensed")
.font(.system(size: 46, weight: .bold, width: .condensed))
Text("Standard")
.font(.system(size: 46, weight: .bold, width: .standard))
Text("Expanded")
.font(.system(size: 46, weight: .bold, width: .expanded))

如何使用新的寬度樣式

你可以在你想使用的任何地方使用。不會有任何限制,所有的新寬度都有一樣的尺寸,同樣的高度,只會有寬度的變化。

這里是擁有同樣文本,同樣字體大小和同樣字體樣式的不同字體寬度樣式展示。

圖片

新的寬度樣式優點

你可以使用新的寬度樣式在已經存在的字體樣式上,比如 thin 或者 bold ,在你的 app 上創造出獨一無二的體驗。

Apple 將它使用在他們的照片app ,在 "回憶'' 功能中,通過組合不同的字體寬度和樣式在標題或者子標題上。

圖片

這里有一些不同寬度和樣式的字體組合,希望可以激發你的靈感。

Text("Pet Friends")
.font(Font(UIFont.systemFont(ofSize: 46, weight: .light, width: .expanded)))
Text("OVER THE YEARS")
.font(Font(UIFont.systemFont(ofSize: 30, weight: .thin, width: .compressed)))

Text("Pet Friends")
.font(Font(UIFont.systemFont(ofSize: 46, weight: .black, width: .condensed)))
Text("OVER THE YEARS")
.font(Font(UIFont.systemFont(ofSize: 20, weight: .light, width: .expanded)))

圖片

你也可以用新的寬度樣式來控制文本的可讀性。

下面的這個例子,說明不同寬度樣式如何影響每行的字符數和段落長度

圖片

下載這種字體

你可以在 Apple 字體平臺[2] 來下載這種新的字體寬度樣式。

下載安裝后,你將會發現一種結合了現有寬度和新寬度樣式的新樣式。

圖片

基本上,除了在模擬器的模擬系統 UI 中,在任何地方都被禁止使用 SF 字體。請確保你在使用前閱讀并理解許可證。

參考資料

[1] 在 SwiftUI 中如何將 UIFont 轉換為 Font: ??https://www.jianshu.com/p/56ee0d1ea0e1.??

[2] Apple 字體平臺: ??https://developer.apple.com/fonts/.??

責任編輯:姜華 來源: Swift社區
相關推薦

2009-07-28 08:55:35

Windows 7本地化字體

2023-04-13 07:41:14

RoCE技術RDMA

2023-10-13 00:00:00

Redis模塊空間對象

2011-04-08 11:13:50

CISCO IOS令牌桶雙桶

2011-01-18 15:35:59

jQueryJavaScriptweb

2011-06-03 11:53:06

Spring接口

2010-09-06 10:04:31

CSS樣式表

2021-07-05 06:57:06

VMware vSph虛擬機磁盤

2009-05-07 15:02:42

OracleJoin查詢

2024-07-01 12:42:58

2023-03-07 08:25:39

探針Kubernetes

2023-06-04 17:11:13

iOSAndroidApple

2022-12-06 23:32:47

CSS語言LCH

2021-12-20 07:11:26

Java List排序 Java 基礎

2010-09-24 19:18:22

SQL索引

2010-05-11 14:08:50

MySQL數字類型

2010-09-08 13:29:48

CSS

2015-09-14 09:31:44

結對設計

2012-07-17 09:16:16

SpringSSH

2013-04-01 09:55:03

OpenStack存儲
點贊
收藏

51CTO技術棧公眾號

视频二区欧美| 国产综合欧美| 国产视频精品一区二区三区| 黄色片免费在线观看| 日韩一区二区三区高清免费看看 | 成人免费看视频| 国产一线二线三线在线观看| 中文字幕视频一区| 91天堂在线| 欧美性受极品xxxx喷水| 午夜在线观看视频网站| 日韩一级完整毛片| 免费在线观看一区| 欧美最猛性xxxxx亚洲精品| 超碰国产精品一区二页| 欧美精品在线免费| 97品白浆高清久久久久久| 丝袜亚洲欧美日韩综合| 欧美xxxxxx| 91亚洲精品在线| 久久久久久亚洲综合| 撸视在线观看免费视频| 亚洲无线码在线一区观看| 天天揉久久久久亚洲精品| 日本欧美视频在线观看| 欧美性极品少妇| 最近国产精品视频| 日韩中文字幕组| 亚洲天堂av综合网| 国模大胆一区二区三区| 丰满的少妇愉情hd高清果冻传媒| 一本一道综合狠狠老| 国产蜜臀av在线播放| 国产精品扒开腿做爽爽爽男男| 一区二区三区日韩精品| 暖暖视频在线免费观看| 97国产精品视频| a在线播放不卡| 欧美色999| a级黄色片网站| 3atv一区二区三区| 亚洲一区二区三区免费在线观看 | 青青青在线观看视频| 日韩美女视频一区二区| a级在线观看| 欧美日韩成人精品| 91色porny蝌蚪| 久久97精品| 成人毛片免费在线观看| 国产精品久久久久久久9999| 中文字幕一区二区三区在线不卡 | 99热在这里有精品免费| 欧美激情护士| 精品人妻大屁股白浆无码| 亚洲精品在线免费播放| 麻豆精品久久精品色综合| 丝袜在线视频| 中文字幕av久久| 亚洲老头同性xxxxx| 男女男精品网站| 成人在线啊v| 四虎影视2018在线播放alocalhost| 国产精品美女午夜av| 五月激情综合色| 久久99久国产精品黄毛片色诱| 华人av在线| 欧美日韩精品久久久免费观看| 亚洲白拍色综合图区| 免费在线观看不卡| 亚洲免费久久| 精品久久久久久中文字幕大豆网 | www成人免费| 91麻豆精品秘密入口| 精品国产乱子伦一区| 国产日本欧美一区二区| 国产毛片一区二区三区| 99国产精品久久| 精品日产乱码久久久久久仙踪林| 青青草视频在线免费观看| 日本一区二区三区在线视频| 成人区精品一区二区| 国产亚洲aⅴaaaaaa毛片| 男人日女人下面视频| 欧美激情一二三区| 在线免费色视频| 久久久久这里只有精品| 精品少妇一区二区三区视频免付费| 成人激情在线| 国产不卡网站| 男人天堂综合| 欧美色老头old∨ideo| 亚洲同志男男gay1069网站| 高清av免费一区中文字幕| 精品久久久久久久久久久久久久久久久| av大大超碰在线| 成人毛片高清视频观看| 国产欧美一区二区三区在线老狼| 日本一区二区三区四区五区六区| 亚洲国产精品成人综合| 99精品视频在线免费播放| 亚洲国产一区二区在线| 亚洲一区二区三区国产| 中文日本在线观看| 99国产视频| 亚洲午夜羞羞片| 国产在线视频一区二区| 日韩极品在线观看| 国产高清一区二区| 日本天堂一区| 久久草在线视频| 你懂的在线观看一区二区| 欧美富婆性猛交| 久久影院午夜论| 卡一精品卡二卡三网站乱码 | 俺来也官网欧美久久精品| 亚洲男人资源| av免费在线一区二区三区| 日本在线аv| 含羞草www国产在线视频| 欧美aaa在线观看| 精品久久久久久久久久久院品网| 成人少妇影院yyyy| 看黄网站在线| 日韩亚洲视频| 亚洲国产精品成人精品| 欧美激情一区二区三区四区| 日韩精品一级| 日韩在线视频在线| 欧美精品久久久| wwwwww欧美| 天天亚洲美女在线视频| 色777狠狠狠综合伊人| 国产人妖ts一区二区| 亚洲丁香日韩| 欧美日韩综合| 久久丁香综合五月国产三级网站| 国产一区二区三区免费看| 久久精品夜夜夜夜久久| 精品国产成人av| 日韩精品高清在线| 欧美美女18p| 国产欧美一区二区| 欧美一级日本a级v片| 亚洲国产精品影视| 欧美不卡在线播放| 国产青青视频| 福利成人导航| 日韩欧美美女在线观看| 美女性感视频久久| 国产丝袜美腿一区二区三区| 一本色道**综合亚洲精品蜜桃冫| 亚洲人成电影网站| 国产一区国产精品| 青青艹视频在线| 丁香花在线影院| heyzo高清国产精品| 蜜臀av免费一区二区三区| 蜜桃av一区二区| 亚洲国产欧美在线人成| 欧美日韩国产一级二级| 欧美日韩精品二区| 精品夜夜嗨av一区二区三区| 91亚洲国产高清| 自拍偷拍亚洲图片| 欧美xxxx做受欧美护士| 制服丝袜影音先锋| 久久99精品国产一区二区三区| 午夜一区二区三区| wwwwxxxx在线观看| 狼人精品一区二区三区在线| 理论电影国产精品| 日韩精品一区二区在线观看| 中文字幕免费国产精品| 久久精品国产一区二区三区日韩| 日本视频二区| 日韩福利视频一区| 91在线播放网址| 久久久久久久久久婷婷| 欧美黑人经典片免费观看| 色综合久久久| 国产成人精品影院| 久久久三级国产网站| 亚洲国产成人porn| 第一页在线观看| 亚洲 欧美 日韩系列| 一级片免费在线观看| www.久久ai| 三级外国片在线观看视频| 国产亚洲精彩久久| 夜夜嗨一区二区三区| 成人精品亚洲人成在线| 99精品视频一区二区| 亚洲二区中文字幕| 91网站免费观看| 国产精品涩涩涩视频网站| 欧美婷婷精品激情| 亚洲啪啪av| 免费视频观看成人| 亚洲色欲色欲www| 国产综合色一区二区三区|