聊一聊 Sketch 與 iOS 文字的行高

摘抄自知乎-五道口大鯊魚

UI 設(shè)計(jì)師用 sketch 輸出的設(shè)計(jì)稿交付工程師后還原總是會(huì)遇到一些問題

尤其以字體與其它元素的間距最容易出問題规个,主要的原因是 sketch 與 ios 系統(tǒng)中字體的行高不同固翰。最簡(jiǎn)單的解決方法是通過手動(dòng)調(diào)整 sketch 中字體的行高围俘,業(yè)界常用的行高是字體 size 的1.2或者1.4倍,實(shí)際這兩個(gè)值都是夠不準(zhǔn)確的优构。

所以要想知道最準(zhǔn)確的值诵叁,那就要先把程序中字體的行高的值取出來,最簡(jiǎn)單的方法當(dāng)然就是用 xcode 跑幾十種不同尺寸字體钦椭,然后截圖量出來行高對(duì)了拧额。

下圖是新鮮的 xcode 用單個(gè) Label 拖動(dòng)的方式,把不同字號(hào)的中英文字體放到界面中

背景顏色即為程序中字體的行高彪腔,也就是 sketch 中的 spacing line 的值侥锦。

可以看到 mainStoryboard 中的文本已經(jīng)跑到左邊的模擬器里面了,這個(gè)時(shí)候只需要 com+s 即可保存原汁原味的屏幕截圖德挣。

下面這張圖就是程序上面的原截圖恭垦,左邊的橙色區(qū)域是我已經(jīng)測(cè)量好的行高值。

上圖并不容易看清楚不同字體不同的行高格嗅,所以我也制作了一個(gè)表格

具體整理出來的表格在下方

綠色區(qū)域?yàn)槲覀冊(cè)?APP 開發(fā)中常用的字號(hào)22px ~30px

最下方的+4 +6 +8..... 都是總結(jié)出來的規(guī)律:

如果字體大小在12~20之間番挺,字體行高等于字體大小加4;

if ( 12 <= font size <= 20 ) { line height = font size + 4 };

if ( 22 <= font size <= 30 ) { line height = font size + 6 };

if ( 32 <= font size <= 40 ) { line height = font size + 8 };

.......

實(shí)際上上面的 if 語(yǔ)句還是有規(guī)律的屯掖,所以插件里用到了更好的算法玄柏,程序方面的東西就不在這里細(xì)寫了。

計(jì)算機(jī)上所有重復(fù)的工作都是可以通過程序去解決贴铜,所以我們制作了一個(gè)sketch插件

youngxkk/AutoFixiOSTextLineHeight?github.com

插件運(yùn)行原理是遍歷 sketch 中字體的大小粪摘,然后通過上方表格的規(guī)律,把不同尺寸的字體填充不同的行高绍坝,達(dá)到與 ios 開發(fā)中字體的行高相同徘意。

這樣用 sketch measure 導(dǎo)出的設(shè)計(jì)稿給工程師的時(shí)候,只要工程師按照設(shè)計(jì)稿上面字體與其它元素間距的值去寫程序陷嘴,那么還原度理論上是100%的。

【只測(cè)試過 iOS 系統(tǒng)中蘋方和 SF 字體间坐,其它的自定義字體就隨緣吧灾挨∫赝耍】

【建議多行文本不要使用此插件】會(huì)讓排版變的很丑陋,多行文本就單獨(dú)與開發(fā)聯(lián)調(diào)吧劳澄。

目前支持同時(shí)選中多個(gè)文本圖層或選中單個(gè) Artboard地技,然后運(yùn)行插件

使用快捷鍵效率更高:shift + option + command + i

【GIF】

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市秒拔,隨后出現(xiàn)的幾起案子莫矗,更是在濱河造成了極大的恐慌,老刑警劉巖砂缩,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件作谚,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡庵芭,警方通過查閱死者的電腦和手機(jī)妹懒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來双吆,“玉大人眨唬,你說我怎么就攤上這事『美郑” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵蔚万,是天一觀的道長(zhǎng)岭妖。 經(jīng)常有香客問我,道長(zhǎng)区转,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任版扩,我火速辦了婚禮废离,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘礁芦。我一直安慰自己蜻韭,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布柿扣。 她就那樣靜靜地躺著肖方,像睡著了一般。 火紅的嫁衣襯著肌膚如雪未状。 梳的紋絲不亂的頭發(fā)上俯画,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音司草,去河邊找鬼艰垂。 笑死泡仗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的猜憎。 我是一名探鬼主播娩怎,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼胰柑!你這毒婦竟也來了截亦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤柬讨,失蹤者是張志新(化名)和其女友劉穎崩瓤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體姐浮,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谷遂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了卖鲤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片肾扰。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蛋逾,靈堂內(nèi)的尸體忽然破棺而出集晚,到底是詐尸還是另有隱情,我是刑警寧澤区匣,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布偷拔,位于F島的核電站,受9級(jí)特大地震影響亏钩,放射性物質(zhì)發(fā)生泄漏莲绰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一姑丑、第九天 我趴在偏房一處隱蔽的房頂上張望蛤签。 院中可真熱鬧,春花似錦栅哀、人聲如沸震肮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)戳晌。三九已至,卻和暖如春痴柔,著一層夾襖步出監(jiān)牢的瞬間沦偎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豪嚎,地道東北人鸿捧。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像疙渣,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子堆巧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5妄荔? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 27,422評(píng)論 1 45
  • 嘗試和大家一起探討以下問題: view繪制渲染機(jī)制和runloop什么關(guān)系谍肤? 所謂的列表卡頓啦租,到底是什么原因引發(fā)的...
    朽木自雕也閱讀 3,020評(píng)論 4 9
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,728評(píng)論 1 92
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁(yè)的形式展示給用戶的荒揣,因此網(wǎng)頁(yè)是網(wǎng)絡(luò)信息傳遞的載體篷角。網(wǎng)頁(yè)文件是用...
    阿啊阿吖丁閱讀 3,828評(píng)論 0 0
  • 念 ——許西的夜晚時(shí)光匆匆 收攤的老板 正撞著北方趕來的風(fēng) 夜幕里蠕動(dòng)的人群 談笑風(fēng)聲 我呆在街邊 做著遠(yuǎn)方的夢(mèng) ...
    貓貓cj閱讀 238評(píng)論 0 1