NSForegroundColorAttributeName未声明

时间:2012-04-25 06:09:47

标签: ios ios4

使用以下代码段时,我会获得undefined / undeclared error

  

NSForegroundColorAttributeName

This is the url i referred

我的代码段

NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:self.myDisplayTxt];
    [string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,5)];

请告诉我

2 个答案:

答案 0 :(得分:8)

尝试使用kCTForegroundColorAttributeName。

您的代码

NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:self.myDisplayTxt];
    [string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,5)];

进行此更改

[string addAttribute:(NSString*)kCTForegroundColorAttributeName 
                value:(id)[[UIColor redColor] CGColor]
                range:NSMakeRange(0,5)];

来自apple的示例代码,

在#import行之后将以下内容添加到您使用addAttribute:

的.m文件中
#if (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE)
#import <CoreText/CoreText.h>
#else
#import <AppKit/AppKit.h>
#endif

请看看这是否有帮助。不要忘记加入CORETEXT框架

答案 1 :(得分:0)

您定位的是哪个版本的iOS?

NSForegroundColorAttributeName是一个静态NSString,在iOS标头中声明,但不是应用程序的一部分,因为在iOS 6.0中可用的标题中明确指出。