想要在iOS中设置文档字体(.doc)

时间:2011-07-18 05:59:47

标签: iphone objective-c cocoa

您好我在MAC应用程序中使用以下代码来设置文档文件的字体。但是我在iOS应用程序中设置字体没有任何成功。

NSFont *docFont = [NSFont fontWithName:@"Times New Roman" size:12];
NSDictionary *docAttributes =  [NSDictionary dictionaryWithObjectsAndKeys: docFont,NSFontAttributeName,nil];
NSAttributedString *docAttributed = [[NSAttributedString alloc] initWithString:doc attributes:gradeDocAttributes];

NSData *docData = [docAttributed docFormatFromRange:NSMakeRange(0, [gradeDoc length]) documentAttributes:nil];

    // write docData to a file
[docData writeToFile:path atomically:YES];

如何在iOS应用程序中实现相同的功能。

我能写文件。以下代码我在iOS应用程序中用于写入文件。但是设置它的字体没有成功。

NSString *doc=[self calculatedResult];
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString* path;
NSString* str =[NSString stringWithFormat:@"%@",self.objStudent.name];
str = [str stringByAppendingFormat:@".doc"];
path = [[paths objectAtIndex:0] stringByAppendingPathComponent:str];
[doc writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:nil];

2 个答案:

答案 0 :(得分:1)

根据文件

  

NSFont - 适用于Mac OS X v10.0及更高版本。

使用Core Text insted:

  

核心文本是一种先进的低级技术,用于布局文本和文本   处理字体。它专为高性能和易用性而设计。   可以从以下位置访问Mac OS X v10.5中引入的Core Text API   所有Mac OS X应用程序环境。它也可以在iOS上使用   3.2。

例如,使用CTFont代替NSFont

对于核心文字指南,请转到here

答案 1 :(得分:1)

方法docFormatFromRange:documentAttributes:在“NSAttributedString Application Kit Additions”中定义(如下所示:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSAttributedString_AppKitAdditions/Reference/Reference.html)。

它仅适用于AppKit(OS X),但不适用于iOS的Core Text实现。因此无法在iOS上创建.doc文件。