版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】iOS自定義字體顯示問題的完美解決方法
前言本篇文章講的是在實際項目中碰到一款自定義字體在展示上出現(xiàn)問題,然后運用先進(jìn)的蘋果爸爸的工具來解決這個問題的故事。
下面話不多說了,來一起看看詳細(xì)的介紹吧1.自定義字體出什么問題了?
設(shè)計師們的作品總是千變?nèi)f化,為了成就他們,作為程序員的我們只好滿足他們嘍。
所以當(dāng)設(shè)計師用到一款神奇的字體的時候,我是不會拒絕的,就像下面這個樣子:為了讓大家能更好的看到這個問題,我把label設(shè)置了一個背景色,label的width和height都等于50。現(xiàn)在,在storyboard中看起來是沒問題的,讓我們Run一下:對比systemfont字體的label,明顯感覺這個DINCondensedC字體的內(nèi)容是偏上的?。ó?dāng)然不用對比也能發(fā)現(xiàn))。WTF!
2.解決思路
2.1既然是內(nèi)容偏上,那么是否和contentMode有關(guān)?
可惜的是,經(jīng)過嘗試,改變contentMode并不能對UILabel產(chǎn)生任何影響(實際繪制內(nèi)容中包含下方的空白)。
結(jié)論:不可行
2.2繼承UILabel并重寫drawRect?利用CoreText繪制字體?
這兩種方案應(yīng)該是可行的,但是,為了這個小字體,用得著這么復(fù)雜的【計算字體大小】-【通過字體大小與label高度計算偏移量】-【用到這個字體的label統(tǒng)一換成XXLabel】流程嗎?
萬一哪天設(shè)計師說:來,咱們來個富文本,中間這幾個字用DINCondensedC字體,兩邊的字用system字體,那你不是要哭了?
結(jié)論:不可行
2.3程序解決不了,那就用人解決吧
讓我們找到可愛的設(shè)計師,請他喝個下午茶,搓頓不錯的晚飯,帶他做個大保健,然后和他說:兄弟這個UI圖可以換個字體嗎...算了成本有點高。
結(jié)論:不可行
2.4可否從字體入手,自己修改字體?
既然字體有點不太正常,那么我們只能使出大招:自己動手修改這個字體。據(jù)說有一款A(yù)pp:Glyphs對于制作/修改字體來說,很強(qiáng)大!然后讓我們好好下載,靜靜等待吧。下載完畢打開這個【PTDINCondensedCyrillic.ttf】字體文件,沒想到這個軟件還收費,只能試用幾天。試用就使用吧,但是,這個字體里的每個字符我都要一個一個去改?作為程序員,不能忍!
結(jié)論:不可行
3.最終的解決方案
最后還是得靠蘋果爸爸,大家的好爸爸。蘋果提供了一款字體修改工具:AppleFontToolSuite。下面就讓我們用該工具來解決這個棘手的問題。
3.1下載該工具
進(jìn)入這里,滾到最下方,可以看到【AppleFontToolSuite】,點擊下方的下載,下載一個適合自己Xcode版本,下載完成后無腦安裝。
3.2獲取字體的信息文件
打開終端,輸入:ftxdumperfuser-thhea-AdPT\DIN\Condensed\Cyrillic.ttf,前面的【ftxdumperfuser-thhea-Ad】為指令,后面的為你的字體文件路徑。最后回車,你會看到同級文件夾下回多出一個【DINCondensedC.hhea.xml】文件:3.3修改字體文件中的信息
讓我們打開這個字體文件,你會看到:
沒錯這是個XML文件,它里面包含了字體的一些公共信息:這里面的每一項信息,都可以從蘋果的:hheaTable文檔這篇文檔中找到。文檔中可以看到,一款字體也是一個大工程。
今天我們要解決的,是【DINCondensedC】字體偏上的問題,因此,讓我們來調(diào)節(jié)調(diào)節(jié)ascender這個屬性,將它從700改為900,然后保存文件。
3.4將修改完的文件注入原ttf文件
打開終端,輸入:ftxdumperfuser-thhea-AfPT\DIN\Condensed\Cyrillic.ttf,注意這里-A后面的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《學(xué)習(xí)英語的困難》課件
- 單位管理制度分享大合集【員工管理篇】十篇
- 《證券經(jīng)紀(jì)與交易》課件
- 2024年農(nóng)業(yè)局上半年科技教育工作總結(jié)
- 九上歷史:第一次月考A卷(考試版+解析)
- DBJT 13-313-2019 城市軌道交通工程滲漏水治理技術(shù)規(guī)程
- XX中學(xué)師生生活綜合樓可研報告
- 《液壓支架技術(shù)》課件
- 《證券投資要義》課件
- 資本市場投資咨詢合同三篇
- 口腔頜面外科學(xué) 09顳下頜關(guān)節(jié)疾病
- 應(yīng)急物資清單明細(xì)表
- 房地產(chǎn)估計第八章成本法練習(xí)題參考
- 《社會主義核心價值觀》優(yōu)秀課件
- DB11-T1835-2021 給水排水管道工程施工技術(shù)規(guī)程高清最新版
- 《妊娠期糖尿病患者個案護(hù)理體會(論文)3500字》
- 《小學(xué)生錯別字原因及對策研究(論文)》
- 便攜式氣體檢測報警儀管理制度
- 酒店安全的管理制度
- (大潔王)化學(xué)品安全技術(shù)說明書
- 2022年科學(xué)道德與學(xué)術(shù)規(guī)范知識競賽決賽題庫(含答案)
評論
0/150
提交評論