我试图在iOS中设置NSAttributedString的臭名昭着的NSFontAttributeName属性,但它似乎无法正常工作:
这不起作用:
CTFontRef ctFont = CTFontCreateWithName((CFStringRef)[UIFont boldSystemFontOfSize:16].fontName, [UIFont boldSystemFontOfSize:16].pointSize, NULL);
[myAttString addAttribute:(NSString*)kCTFontNameAttribute
value:(id)ctFont
range:NSMakeRange(0, myAttString.length-1)];
这不起作用:
[myAttString addAttribute:(NSString*)kCTFontNameAttribute
value:[UIFont boldSystemFontOfSize:16]
range:NSMakeRange(0, myAttString.length-1)];
有没有让这项工作?
答案 0 :(得分:4)
我找到了它!
基本上,我应该使用的字典键的字符串常量是kCTFontAttributeName
整个事情都是一场秀......
答案 1 :(得分:3)
NS常量和完整的attributionString支持将在那里。但是还没在iOS5中。
CoreText常量可以正常工作,而CTFontRef也是我使用它的方式。你的代码的第一个块应该工作。你可以验证你的其他代码,问题不在其他地方。
答案 2 :(得分:0)
这样做:
let paragraphStyle = NSMutableParagraphStyle()
paragraphStyle.alignment = .center
let attributes = [NSParagraphStyleAttributeName : paragraphStyle,
NSFontAttributeName : UIFont.systemFont(ofSize: 24.0),
NSForegroundColorAttributeName : UIColor.blue,
]
let attrString = NSAttributedString(string: "Stop\nall Dance",
attributes: attributes)