真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

iOS自定義字體顯示問題的完美解決方法-創(chuàng)新互聯(lián)

前言

站在用戶的角度思考問題,與客戶深入溝通,找到安新網(wǎng)站設(shè)計(jì)與安新網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋安新地區(qū)。

本篇文章講的是在實(shí)際項(xiàng)目中碰到一款自定義字體在展示上出現(xiàn)問題,然后運(yùn)用先進(jìn)的蘋果爸爸的工具來解決這個(gè)問題的故事。

下面話不多說了,來一起看看詳細(xì)的介紹吧

1. 自定義字體出什么問題了?

設(shè)計(jì)師們的作品總是千變?nèi)f化,為了成就他們,作為程序員的我們只好滿足他們嘍。

所以當(dāng)設(shè)計(jì)師用到一款神奇的字體的時(shí)候,我是不會(huì)拒絕的,就像下面這個(gè)樣子:

iOS自定義字體顯示問題的完美解決方法

為了讓大家能更好的看到這個(gè)問題,我把 label 設(shè)置了一個(gè)背景色,label 的 width 和 height 都等于50。現(xiàn)在,在 storyboard 中看起來是沒問題的,讓我們 Run 一下:

iOS自定義字體顯示問題的完美解決方法

對比 system font 字體的 label,明顯感覺這個(gè) DINCondensedC 字體的內(nèi)容是偏上的?。ó?dāng)然不用對比也能發(fā)現(xiàn))。WTF!

2. 解決思路

2.1 既然是內(nèi)容偏上,那么是否和 content Mode 有關(guān)?

可惜的是,經(jīng)過嘗試,改變 contentMode 并不能對 UILabel 產(chǎn)生任何影響(實(shí)際繪制內(nèi)容中包含下方的空白)。

結(jié)論:不可行

2.2 繼承 UILabel 并重寫 drawRect ?利用 CoreText 繪制字體?

這兩種方案應(yīng)該是可行的,但是,為了這個(gè)小字體,用得著這么復(fù)雜的【計(jì)算字體大小】-【通過字體大小與 label 高度計(jì)算偏移量】-【用到這個(gè)字體的 label 統(tǒng)一換成 XXLabel 】流程嗎?

萬一哪天設(shè)計(jì)師說:來,咱們來個(gè)富文本,中間這幾個(gè)字用 DINCondensedC 字體,兩邊的字用 system 字體,那你不是要哭了?

結(jié)論:不可行

2.3 程序解決不了,那就用人解決吧

讓我們找到可愛的設(shè)計(jì)師,請他喝個(gè)下午茶,搓頓不錯(cuò)的晚飯,帶他做個(gè)大保健,然后和他說:兄弟這個(gè)UI圖可以換個(gè)字體嗎... 算了成本有點(diǎn)高。

結(jié)論:不可行

2.4 可否從字體入手,自己修改字體?

既然字體有點(diǎn)不太正常,那么我們只能使出大招:自己動(dòng)手修改這個(gè)字體。據(jù)說有一款 App:Glyphs 對于制作/修改字體來說,很強(qiáng)大!然后讓我們好好下載,靜靜等待吧。下載完畢打開這個(gè)【PT DIN Condensed Cyrillic.ttf】字體文件,沒想到這個(gè)軟件還收費(fèi),只能試用幾天。試用就使用吧,但是,這個(gè)字體里的每個(gè)字符我都要一個(gè)一個(gè)去改?作為程序員,不能忍!

結(jié)論:不可行

3. 最終的解決方案

最后還是得靠蘋果爸爸,大家的好爸爸。蘋果提供了一款字體修改工具:Apple Font Tool Suite。下面就讓我們用該工具來解決這個(gè)棘手的問題。

3.1 下載該工具

進(jìn)入這里,滾到最下方,可以看到【Apple Font Tool Suite】,點(diǎn)擊下方的下載,下載一個(gè)適合自己 Xcode 版本,下載完成后無腦安裝。

3.2 獲取字體的信息文件

打開終端,輸入:ftxdumperfuser -t hhea -A d PT\ DIN\ Condensed\ Cyrillic.ttf,前面的【ftxdumperfuser -t hhea -A d 】為指令,后面的為你的字體文件路徑。最后回車,你會(huì)看到同級文件夾下回多出一個(gè)【DINCondensedC.hhea.xml】文件:

iOS自定義字體顯示問題的完美解決方法

3.3 修改字體文件中的信息

讓我們打開這個(gè)字體文件,你會(huì)看到:

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>


]>





另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


分享名稱:iOS自定義字體顯示問題的完美解決方法-創(chuàng)新互聯(lián)
網(wǎng)頁路徑:http://weahome.cn/article/ghcod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部