Swift:有了SFSafeSymbols庫,沒有UI我也不愁了

前言

之前我介紹了深色模式適配和UIColor相關(guān)的分類,今天要介紹的繼續(xù)和UI相關(guān),是一個(gè)庫,叫SFSafeSymbols,大家跟著我一起來看看吧。

SF Symbols

在和大伙介紹這個(gè)庫之前,我們先說一個(gè)Apple開發(fā)的軟件,叫SF Symbols。

這里軟件是用來干嘛的呢,我上個(gè)截圖大家就知道了:

如果你正在面試,或者正準(zhǔn)備跳槽,不妨看看我精心總結(jié)的面試資料:https://gitee.com/Mcci7/i-oser 來獲取一份詳細(xì)的大廠面試資料 為你的跳槽加薪多一份保障

SF Symbols 在 WWDC 2019 期間推出。自此Apple 為我們提供了免費(fèi) Symbols,供我們?cè)趹?yīng)用中使用,而且使用它們非常簡(jiǎn)單。

說簡(jiǎn)單點(diǎn),就是Apple官方提供一套UI素材給開發(fā)者,可以使用。

經(jīng)歷了WWDC 2020和WWDC 2021之后,SF Symbols已經(jīng)到3.0了。

那么我們應(yīng)該如何使用它呢?

比如上圖中的第一個(gè)圖標(biāo)我覺得不錯(cuò),想在iOS中進(jìn)行開發(fā),我先右鍵拷貝下來這個(gè)名稱:

然后通過函數(shù)進(jìn)行調(diào)用:

let image = UIImage(systemName: "folder.badge.person.crop")
復(fù)制代碼

我們看看這個(gè)systemName的初始化函數(shù)的整體情況:

open class UIImage : NSObject, NSSecureCoding {

    @available(iOS 13.0, *)
    public /*not inherited*/ init?(systemName name: String)
}

iOS13之后可用,可選構(gòu)造函數(shù),返回的是UIImage?類型,傳入的name是字符串,硬編碼,不安全。

這個(gè)時(shí)候SFSafeSymbols就該登場(chǎng)啦。

SFSafeSymbols

A SF Symbol UIImage can now be initialized using the SFSymbol enum. This image is already unwrapped, so you get a UIImage instead of a UIImage?:

UIImage(systemSymbol: .cCircle)
UIImage(systemSymbol: SFSymbol.eCircleFill)
UIImage(systemSymbol: ._11CircleFill, withConfiguration: /* Some UIImage.Configuration */)

通過SFSafeSymbols庫,我們可以通過庫提供的SFSymbol中的enum去初始化一個(gè)已經(jīng)解包好的image,返回的是UIImage,而不是UIImage?,一并解決硬編碼問題。

更多詳細(xì)的用法,大家可以在Github中去查了,我這就不多費(fèi)筆墨了。

現(xiàn)在,有了SFSafeSymbols庫,沒有UI我也不愁了。

參考文檔:

SF Symbols

SFSafeSymbols

SF Symbols 簡(jiǎn)介

總結(jié)

通過SF Symbols軟件查詢,與SFSafeSymbols的安全調(diào)用,我們可以很好的調(diào)用Apple為我們?cè)O(shè)計(jì)好的圖標(biāo)。

這對(duì)于獨(dú)立開發(fā),或者是苦于找不到素材的開發(fā)人員是一件好事。

我們甚至可以把SF Symbols軟件分享給UI,讓他們?cè)O(shè)計(jì)出更Apple的圖標(biāo)。

當(dāng)然SF Symbols僅支持iOS 13之后,這確實(shí)是一大痛點(diǎn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容