Iphone 要在iOS中设置文档(.doc)的字体吗

Iphone 要在iOS中设置文档(.doc)的字体吗,iphone,objective-c,cocoa,Iphone,Objective C,Cocoa,嗨,我在MAC应用程序中使用以下代码来设置文档文件的字体。但我并没有在iOS应用程序中成功设置字体 NSFont *docFont = [NSFont fontWithName:@"Times New Roman" size:12]; NSDictionary *docAttributes = [NSDictionary dictionaryWithObjectsAndKeys: docFont,NSFontAttributeName,nil]; NSAttributedString *doc

嗨,我在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];
根据文件

NSFont-在Mac OS X v10.0及更高版本中提供

使用核心文本说明:

核心文本是一种用于布局文本和 处理字体。它是为高性能和易用性而设计的。 Mac OS X v10.5中引入的核心文本API可从 所有Mac OS X应用程序环境。它也可以在iOS中使用 3.2

例如,使用而不是NSFont


对于核心文本指南,方法
docFormatFromRange:documentAttribute:
在“NSAttributedString应用程序工具包增补”中定义(如此处所示)


它仅在AppKit(OS X)上可用,但在iOS的核心文本实现中不可用。因此,无法在iOS上创建
.doc
文件。

塞浦路斯语,我知道MAC应用程序中使用NSFont,iOS中使用UIFont。核心文本API在MAC应用程序中运行良好,但在iOS中不起作用。希望sdk 5.0不是它的原因。@user606348:它是如何“不工作”的?这类信息应该在你的问题中,你应该非常具体地说明你到底做了什么,包括你用CTFont做了什么,以及它是如何不起作用的。@Peter Hosey CTFont正在工作。。我无法获取NSMutableAttributedString,但当我尝试使用以下代码时
[attrString WriteFile:path Atomicaly:YES encoding:NSUTF8StringEncoding error:nil]。应用程序崩溃。。然后我将NSMutableAttributedString设置为string,然后设置其写入方法。它可以创建包含垃圾内容的文件。那么@Peter Hosey,让我们回到主要问题上来。有没有办法在ios中创建word文件?设置属性等。我还添加了在post中创建(.doc)文件的代码。。你可以检查一下。@user606348:不,你没有。您添加了一些写文本文件的代码(可能是垃圾文件,这取决于
calculatedResult
返回的字符串是否为纯文本)。您没有显示任何生成Word数据以写入Word文档文件的代码。我可以假设
calculatedResult
应该生成Word数据,但它返回的类型错误—Word文件不是纯文本,因此它应该返回NSData对象(就像AppKit的
docFormatFromRange:…:
方法一样),而不是字符串。无论如何,您都没有显示
calculatedResult
如何生成Word文档。@user606348:“我还添加了在post中创建(.doc)文件的代码”。正如Peter所说,您只添加了显示如何编写(文本)文件的代码。如果您使用的Mac在文本编辑中打开时没有任何问题(就像.doc文件一样是true Word文件),但没有任何格式。您将无法在iOS上创建真正的Word文件。不过,您可以做的是创建PDF文件。