2012-04-25 154 views
2

使用下面的代碼片段,我得到的undefined/undeclared errorNSForegroundColorAttributeName未申報

NSForegroundColorAttributeName

This is the url i referred

我的代碼片段

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

請讓我知道

+0

'NSForegroundColorAttributeName'是Mac OSX Core Library的一部分。所以你可以請張貼一些代碼讓大家知道你是如何實現的。 – 2012-04-25 06:49:33

+0

更新了我的代碼片段 – user198725878 2012-04-25 07:03:02

+0

@ hpiOSCoder:請幫助我,我已經包含了我的代碼。謝謝 – user198725878 2012-04-25 08:23:07

回答

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

從蘋果的示例代碼,

添加#進口線的.m文件中,u使用addAttribute:

#if (TARGET_OS_EMBEDDED || TARGET_OS_IPHONE) 
#import <CoreText/CoreText.h> 
#else 
#import <AppKit/AppKit.h> 
#endif 

請看看這是否有幫助。不要忘了添加CORETEXT框架

+0

仍然我得到了同樣的錯誤NSMutableAttributedString * string = [[NSMutableAttributedString alloc] initWithString:self.myDisplayTxt]; [string addAttribute:kCTForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0,5)]; – user198725878 2012-04-25 08:34:45

+0

編輯我的答案,請檢查 – 2012-04-25 08:44:41

+0

請按照此鏈接http://stackoverflow.com/questions/5550739/set-nsattributedstring-to-uitextview – 2012-04-25 10:41:05

0

您定位的iOS版本是什麼?

NSForegroundColorAttributeName是一個靜態NSString,在iOS頭文件中聲明,但不是您的應用程序的一部分,正如在iOS 6.0以後可用的頭文件中明確指出的那樣。