0

我创建了一个方法,我想创建一个部分加粗的 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

我不知道为什么,但我不能使用我创建的方法。我做对了吗?有没有其他方法可以将数据传回或者我错过了什么

任何帮助,将不胜感激。

4

1 回答 1

3

你想打电话[self create...],而不是[firstAttr create...]。您create...的方法是您的对象(自我)的实例方法。它返回一个属性字符串,但它不是属性字符串类的方法

于 2013-05-21T01:55:23.490 回答