我試圖創建NSMutableAttributedString
並使用SetProperties
方法設置其屬性。但是我的應用程序錯誤死機,CTFont與CTStringAttributes和NSMutableAttributedString在xamarin中崩潰我的應用程序
MonoTouch.Foundation.MonoTouchException exception - NSInvalidArgumentException Reason: unrecognized selector sent to instance 0xc305d00.*
代碼:
var richTask = new NSMutableAttributedString ("Random");
var fda = new CTFontDescriptorAttributes {
FamilyName = "Courier",
StyleName = "Bold",
Size = 18f
};
var fd = new CTFontDescriptor (fda);
var font = new CTFont (fd, 0);
var attrs = new CTStringAttributes { Font = font };
var range = new NSRange (0, 3);
richTask.SetAttributes(attrs, range);
_label.AttributedText = richTask;
此代碼是在UITableViewController
的GetCell
方法。我想只能改變字符串的前3-4個字母的字體或顏色。
我想通了,如果我消除字體組件,並設置另一個屬性,例如,StrokeWidth,它工作正常
var attrs = new CTStringAttributes { /*Font = font*/ StrokeWidth = 5f };
如此看來,字體初始化有點不正確。這是爲什麼?爲什麼它會崩潰我的應用程序?
感謝您的提前!
我有同樣的問題,並使用(我認爲)'UIStringAttribute'來代替。當我開始工作時,讓我發佈一個代碼示例。 – jonathanpeppers
我試圖在一個簡單的程序中重現這個bug,但是我得到了預期的輸出(字體和全部)。請提供完整的repro。 –