我创建了一个方法,我想创建一个部分加粗的 NSMutableAttributedString。但是我在调用它来返回它应该返回的数据时遇到了一些麻烦。
这就是我实现代码的方式
//.h
// creates bold portion of the labels in toolbar
- (NSMutableAttributedString *)createBoldString:(NSString *)labelString intRangeA:(int)rangeA intRangeB:(int)rangeB;
//.m
- (NSMutableAttributedString *)createBoldString:(NSString *)labelString intRangeA:(int)rangeA intRangeB:(int)rangeB {
// iOS6 and above : Use NSAttributedStrings
const CGFloat fontSize = 12;
UIFont *boldFont = [UIFont boldSystemFontOfSize:fontSize];
UIFont *regularFont = [UIFont systemFontOfSize:fontSize];
UIColor *foregroundColor = [UIColor whiteColor];
// Create the attributes
NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:
boldFont, NSFontAttributeName,
foregroundColor, NSForegroundColorAttributeName, nil];
NSDictionary *subAttrs = [NSDictionary dictionaryWithObjectsAndKeys:
regularFont, NSFontAttributeName, nil];
const NSRange range = NSMakeRange(rangeA, rangeB); // range of " 2012/10/14 ". Ideally this should not be hardcoded
// Create the attributed string (text + attributes)
NSMutableAttributedString *attributedText =
[[NSMutableAttributedString alloc] initWithString:labelString
attributes:attrs];
[attributedText setAttributes:subAttrs range:range];
// Set it in our UILabel and we are done!
return attributedText;
// [firstToolBarLabel setAttributedText:attributedText];
}
这就是我试图在没有成功的情况下调用它的方式
NSAttributedString *firstAttr = [[NSAttributedString alloc] init];
[firstAttr create.... // this dose not auto complete and I cannot see the method
我不知道为什么,但我不能使用我创建的方法。我做对了吗?有没有其他方法可以将数据传回或者我错过了什么
任何帮助,将不胜感激。