加入一个nsstring

时间:2015-12-29 06:12:06

标签: ios objective-c nsstring

我已经在线查看了如何加粗NSString的方法,要么它不存在,要么我似乎无法找到它。我只是想在NSString中加粗这个词,但到目前为止,我所做的并不是在说:

 NSString *player1Name = [[UIFont boldSystemFontOfSize:12] fontName];

我依靠这个来使“player1Name”变粗,但它根本不起作用。 当我运行它时,我得到了这个:

enter image description here

提前感谢帮助我找到解决方案的任何人。

3 个答案:

答案 0 :(得分:2)

你不能加粗NSString ...尝试NSAttributedString ...

NSAttributedString *player1Name = [[NSAttributedString alloc] initWithString:@"name" attributes:@{NSFontAttributeName : [UIFont boldSystemFontOfSize:12]}];

https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSAttributedString_Class/

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]];