iOS中如何添加自訂的字型

來源:互聯網
上載者:User

標籤:ios   font   

      蘋果對於開發,確實在細節方面下了很大的功夫,不過無論一個平台下多大的功夫,仍然會有些需求是無法涵蓋的,比如字型吧。我們的應用為了能更加個人化,會需要不同的字型,有時候有些字型是非常特殊的,甚至是購買的,那麼這些字型如何加到項目中去呢?

      字型有相應的字型檔,一般是以ttf或者otf為尾碼,我們可以去一些第三方網站去下載(也有人專門做了字型出售),Google Fonts是個比較好的網站,可以去找找看。我們就用Open Sans這個字型來做例子吧。首先當然是去下載字型檔,下載後發現是10個ttf檔案,沒錯,這是一個系列的字型,有粗體,有斜體,還有不同的大小,方便使用者在不同的情境下使用。

      

          


      在準備好了字型檔檔案後,就可以加到項目中了,是把ttf檔案加入到項目中,這裡需要注意的是要把這些ttf加入到bundle中,也就是說,最後的ipa檔案中必須包含有這些ttf(否則應用中到哪裡去找字型檔呢?)

      

      在加入後,我們可以分別在FileExplore和Build Phase裡面看到這些內容,如所示:

      

      設定到這裡還有最後一步,就是在info.plist檔案中加入相應資訊,這一步實際上實在項目的Info頁裡面增加Fonts provided by application項,並設定相應的ttf檔案進去,這樣就告訴了應用,我要加入新的字型了,對應的字型檔是哪些。

      

      到這裡,字型檔檔案應該是準備好了,下面我們需要確認一下字型檔的名字,因為代碼中需要用名字來指定字型。通常來說,這個名字和檔案名稱是相同的,但也有不同的時候,所以這一步一定不要忽略。

      字型檔的名字這裡是通過NSLog這個列印語句來獲得,我們看一下代碼:

      

    for (NSString *fontFamilyName in [UIFont familyNames]) {        NSLog(@"--- %@ ---", fontFamilyName);        for (NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName]) {            NSLog(@"  %@", fontName);        }                NSLog(@"   ");    }

      這段代碼我們逐個讀入字型族的名字,然後每個族中讀取每種字型的名字。從代碼中我們可以知道,實際上我們列印了所有的字型,全部列出實在太長了,所以截了一部分列出來,我們的Open Sans也在其中。

      

      我們看一下,裡面有些字型名字和檔案名稱相同,如OpenSans-Bold;有些字型名字和檔案名稱不同,如OpenSansLight-Italic。至此,準備工作終於全部完成了。

      準備工作相當的繁瑣,每一步都不能省,但下面正式使用就非常簡單了,我做了三個label,分別放入了三種字型,為了向大師致敬,都顯示Hello World!的字樣。

      代碼是這樣的:

      

    self.label1.font = [UIFont fontWithName:@"OpenSans-Bold" size:20.0];    self.label1.text = @"Hello World!";    self.label2.font = [UIFont fontWithName:@"OpenSans-BoldITalic" size:20.0];    self.label2.text = @"Hello World!";    self.label3.font = [UIFont fontWithName:@"OpenSans-Light" size:20.0];    self.label3.text = @"Hello World!";

      效果是這樣的:

      

      這樣,我們就在應用中完美的加入了自訂字型檔,應用會顯得更加的個人化,讓人眼前一亮,脫穎而出!


iOS中如何添加自訂的字型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.