public static NSAttributedString AttributedPartialTitle(string title, List <string> keyWordsList, NSColor fontColor, string fontName, float fontSize, NSTextAlignment textAlignment, NSLineBreakMode breakMode) { string patten = "\\b("; int i = 0; foreach (var item in keyWordsList) { if (i != 0) { patten = patten + "|" + item; } else { patten = patten + item; } i++; } patten = patten + ")\\b"; string [] results = Regex.Split(title, patten); NSMutableParagraphStyle ps = new NSMutableParagraphStyle(); ps.Alignment = textAlignment; ps.LineBreakMode = breakMode; NSMutableAttributedString attrTitle = new NSMutableAttributedString(); foreach (var item in results) { //Console.WriteLine ("result:{0}", item); if (item.Length == 0) { continue; } if (keyWordsList.Contains(item)) { NSStringAttributes attributes = new NSStringAttributes(); attributes.Font = NSFont.FromFontName(fontName + " Bold Italic", fontSize); attributes.ForegroundColor = Utility.ColorWithRGB(0, 0, 0, 0.45f); attributes.ParagraphStyle = ps; NSAttributedString attrString = new NSAttributedString(item, attributes); attrTitle.Append(attrString); } else { NSStringAttributes attributes = new NSStringAttributes(); attributes.Font = NSFont.FromFontName(fontName, fontSize); attributes.ForegroundColor = fontColor; attributes.ParagraphStyle = ps; NSAttributedString attrString = new NSAttributedString(item, attributes); attrTitle.Append(attrString); } } return(attrTitle); }
public CCLabelTTF (string label, SizeF dimensions, NSTextAlignment alignment, NSLineBreakMode lineBreakMode, string fontName, float fontSize) : this (label, fontName, fontSize, dimensions, alignment, lineBreakMode)