2017-08-19 74 views
1

我想字體設置爲我的系統,並用它在我的應用程序,它工作正常爲Android,但它並不適用於IOS 設置字體 - 首先我說的.ttf文件到資源在IOS項目我需要從文件名爲.ttf

enter image description here

加入該字體以Entitlements.plist

enter image description here

對於Android,我已新增至資產文件夾

enter image description here

然後在主應用app文件我在字典資源

<Style x:Key="LableStyle" TargetType="Label" > 
     <Setter Property="Label.FontFamily"> 
      <Setter.Value> 
       <OnPlatform x:TypeArguments="x:String"> 
        <OnPlatform.Android> 
         DroidSansArabic.ttf#DroidSansArabic 
          </OnPlatform.Android> 
        <OnPlatform.iOS> 
         DroidSansArabic 
        </OnPlatform.iOS> 
       </OnPlatform> 
      </Setter.Value> 
     </Setter> 
    </Style> 

添加了這個代碼和標籤我加入了風格類似這樣的

<Label HorizontalOptions="StartAndExpand" 
    Margin="20,5,0,0" 
    x:Name="lblForgotPassword" 
    Text="Forgot Password" 
    Style="{StaticResource LableStyle}"> 
</Label> 

但它工作正常在Android中但不在IOS中工作爲什麼?

+0

您不需要將其添加到entitlements.plist,但info.plist –

回答

1

我會假設你的字體系列名稱是iOS上不正確。 MacOS的/ iOS的字體名稱不是文件名SANS分機,名稱是在ttf本身內定義。

在我的MacOS和一的DroidSansArabic.ttf,我已經在iOS上使用使用的B Tabassom

姓氏所以它在形式的用法是:

label.FontFamily = Device.OnPlatform(
    iOS: "B Tabassom", 
    Android: "DroidSansArabic.ttf#DroidSansArabic", 
    WinPhone: null 
); 

由於有一些DroidSansArabic.ttf漂浮在附近,通過在macOS的字體書中打開ttf並查看標題欄來驗證您的字體名稱是什麼:

enter image description here

如果你的Mac系統有它已經安裝了,看在名稱欄中:

enter image description here

更新:你也錯了.plistUIAppFonts鍵,它會在Info.plist

<key>UIAppFonts</key> 
     <array> 
       <string>DroidSansArabic.ttf</string> 
     </array> 
</dict> 
+0

非常感謝我會檢查,讓你知道 –

+0

我安裝的字體的字體名稱是德羅伊德桑阿拉伯語定期 但也同樣的問題 –

+0

@VictorFaltas是名稱的標題欄:'德羅伊德桑阿拉伯語Regular'或'德羅伊德桑Arabic'?即不包括'Regular'部分,只有在安裝了在標題欄爲卸載的字體或字體的名稱列中的名稱。 – SushiHangover