Monotouch捆绑字体与二进制

1 fonts xamarin.ios

如果我们去买了一个字体供我们的应用程序使用,是否可以捆绑字体并在应用程序内使用它?我们正在创建需要动态生成按钮的应用程序,并且需要使用特定的字体.

干杯

女://

Rod*_*dja 19

将您的字体放入项目根目录中的目录(与Info.plist相同)并列出Info.plist中的文件:

<key>UIAppFonts</key>
<array>
   <string>Fonts/Quicksand_Bold.otf</string>
   <string>Fonts/Quicksand_Book.otf</string>
</array>
Run Code Online (Sandbox Code Playgroud)

然后将MonoDevelop中的文件添加到项目中,并将构建操作设置为"Content".之后你可以使用字体:

UILabel title = new UILabel (new RectangleF (80, 190, 160, 60));
title.Font = UIFont.FromName("QuicksandBook-Regular", 20);
title.SetTitle ("Font Demo");
Run Code Online (Sandbox Code Playgroud)

如果您在确定正确的字体名称时遇到问题,可以使用此代码剪切来检索所有已安装字体的列表:

String fonts = "";
List<String> fontFamilies = new List<String> (UIFont.FamilyNames);
fontFamilies.Sort ();
foreach (String familyName in fontFamilies) {
  foreach (String fontName in UIFont.FontNamesForFamilyName (familyName)) {
    fonts += fontName + "\n";
  }
  fonts += "\n";
}
Console.WriteLine (fonts);          
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案,只是想为当前版本的MonoTouch添加,你应该将字体放在Resources文件夹中,并将构建操作设置为"BundleResource". (2认同)