級別:★☆☆☆☆
標籤:「iconFont」「Tool」「UIFont」
做者: 647
審校: QiShare團隊php
需求:有時候咱們本身想獨立開發一些
App
,但苦惱沒有設計給icon
切圖? 這可怎麼辦?
今天咱們來介紹一種比較高效且高質量的替代方案:使用矢量圖標 ——iconFont
。html
iconFont:是阿里巴巴提供的一個矢量圖標庫。簡單來講,就是能夠把icon轉換成font,再經過文本展現出來。官網連接
支持:Web
、iOS
、Android
平臺使用。git
登陸iconFont,挑選你須要的icon,並把它們加入購物車,下載代碼。github
解壓下載的壓縮包,注意demo_index.html
和iconFont.ttf
文件。打開工程將ttf
導入到項目中,並在info.plist
中配置。swift
demo_index.html
、iconFont.ttf
iconFont.ttf
文件導入項目:打開demo_index.html
預覽iconFont
所對應的Unicode
編碼。並在項目中應用。微信
demo_index.html
文件\u{編碼}
使用Unicode編碼//...
label.font = UIFont.init(name: "iconFont", size: 26.0)
label.text = "\u{e658}"
//...
複製代碼
\U0000編碼
使用Unicode編碼//...
label.font = [UIFont fontWithName:@"uxIconFont" size: 34];;
label.text = @"\U0000e658";
//...
複製代碼
這樣,在沒有設計提供切圖的狀況下,就能夠用Label
的iconFont
字體代替切圖達成ImageView
的效果了。svg
先把icon
經過像素點描述成自定義字體(svg格式字體),而後打包成ttf
格式的文件,再經過對應的unicode
對應到相關的icon
。工具
ttf
文件導入衝突問題:因爲從iconFont上打包生成的ttf
文件,字體名均爲「iconFont」,所以從官網上下載的ttf
文件,字體名均爲「iconFont」
。所以多ttf
文件引入時,會有衝突。字體
解決方案:用一些工具修改字體名,再導入多個ttf
文件。(記得在info.plist
文件裏配置)編碼
Unicode
變化問題:儘可能使用一個帳號下載ttf資源,不一樣的環境下可能會致使生成的Unicode
不一樣。從而給項目替換icon
帶來成本。
iconFont
目前應該不支持商用,除非有特別的許可。 本身獨立寫一些小項目的時候可使用。
瞭解更多iOS及相關新技術,請關注咱們的公衆號:
小編微信:可加並拉入《QiShare技術交流羣》。
關注咱們的途徑有:
QiShare(簡書)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公衆號)
推薦文章:
DarkMode、WKWebView、蘋果登陸是否必須適配?
iOS 接入 Google、Facebook 登陸(二)
iOS 接入 Google、Facebook 登陸(一)
Nginx 入門實戰 iOS中的3D變換(二)
iOS中的3D變換(一)
WebSocket 雙端實踐(iOS/ Golang)
今天咱們來聊一聊WebSocket(iOS/Golang)
奇舞團安卓團隊——aTaller
奇舞週刊