我已经在线查看了如何加粗NSString的方法,要么它不存在,要么我似乎无法找到它。我只是想在NSString中加粗这个词,但到目前为止,我所做的并不是在说:
NSString *player1Name = [[UIFont boldSystemFontOfSize:12] fontName];
我依靠这个来使“player1Name”变粗,但它根本不起作用。 当我运行它时,我得到了这个:
提前感谢帮助我找到解决方案的任何人。
答案 0 :(得分:2)
你不能加粗NSString ...尝试NSAttributedString ...
NSAttributedString *player1Name = [[NSAttributedString alloc] initWithString:@"name" attributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:12]}];
fontName 是UIFont上的属性
[[UIFont boldSystemFontOfSize:12] fontName]
返回字体名称 HelveticaNeueInterface-MediumP4
答案 1 :(得分:0)
试试这个:
NSString *myString = @"My string!";
NSAttributedString *myBoldString = [[NSAttributedString alloc] initWithString:myString
attributes:@{ NSFontAttributeName: [UIFont boldSystemFontOfSize:35.0] }];
您也可以为特定文字设置范围,例如:
NSString *boldFontName = [[UIFont boldSystemFontOfSize:12] fontName];
NSString *yourString = ...;
NSRange boldedRange = NSMakeRange(2, 4);
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:yourString];
[attrString beginEditing];
[attrString addAttribute:kCTFontAttributeName
value:boldFontName
range:boldedRange];
[attrString endEditing];
答案 2 :(得分:0)
你不能使NSString加粗。而不是你可以将UILabel文本变成粗体。因为UILabel用于UI表示和NSStrings只是对象。所以让你的UILabel大胆
[infoLabel setFont:[UIFont boldSystemFontOfSize:16]];