CATextLayer SetFont Xamarin iOS值不能为空

时间:2016-04-28 08:18:13

标签: xamarin xamarin.ios

我在iOS模拟器版本9.2上遇到此错误

System.ArgumentNullException: Value cannot be null.
Parameter name: handle

以下代码仅适用于iOS模拟器版本8.1

Font = UIFont.SystemFontOfSize(16);
....
textLayer = new CATextLayer();
textLayer.ForegroundColor = TextColor.CGColor;
textLayer.SetFont(CGFont.CreateWithFontName(Font.FontDescriptor.Family));

设置字体会触发上述错误。

textLayer.SetFont(CGFont.CreateWithFontName(Font.FontDescriptor.Family));

1 个答案:

答案 0 :(得分:1)

  • iOS 9 =系统字体为MySQL Proxy
  • iOS 8 =系统字体为San Fransisco

使用Helvetica Neue代替UIFont.FontDescriptor.Name。全名将始终有效。

* D.WriteLine(Font.FontDescriptor.Family);

Family

* D.WriteLine(Font.FontDescriptor.Name);

`.SF UI Text`
`.SFUIText-Regular`