Cocoa 如何创建用于打印的自动调整大小NSTextView?

Cocoa 如何创建用于打印的自动调整大小NSTextView?,cocoa,printing,nstextview,Cocoa,Printing,Nstextview,我想做的是:为包含多个段落的文本生成打印视图。在每个段落的一侧,我希望显示注释文本 因此,在drawRect中,我需要创建NSTextView的一个实例(在左侧),并在其右侧创建相应的NSTextView。然后是另一对,依此类推 问题是,如何创建宽度有限但高度不受限制的文本视图?我知道将要使用的字体及其大小,但高度也取决于文字环绕,我不知道如何解释…您是否在问如何计算创建新textview时应使用的正确矩形大小?如果是这样,这里有一个方法演示如何使用NSString的SizeWithatAttr

我想做的是:为包含多个段落的文本生成打印视图。在每个段落的一侧,我希望显示注释文本

因此,在
drawRect
中,我需要创建
NSTextView
的一个实例(在左侧),并在其右侧创建相应的
NSTextView
。然后是另一对,依此类推


问题是,如何创建宽度有限但高度不受限制的文本视图?我知道将要使用的字体及其大小,但高度也取决于文字环绕,我不知道如何解释…

您是否在问如何计算创建新textview时应使用的正确矩形大小?如果是这样,这里有一个方法演示如何使用NSString的SizeWithatAttributes方法:

- (BOOL) doesString:(NSString *)string fitInRectOfSize:(NSSize)rectSize usingFont:(NSFont *)font {
    NSMutableDictionary *fontAttrs = [[NSMutableDictionary alloc] init];
    NSSize sizeFilled = [string sizeWithAttributes:fontAttrs];
    [fontAttrs release];
    if (sizeFilled.width <= rectSize.width && sizeFilled.height <= rectSize.height)
            return YES;
    else 
            return NO;
}
-(BOOL)doesString:(NSString*)字符串fitInRectOfSize:(NSSize)rectSize使用字体:(NSFont*)字体{
NSMutableDictionary*fontAttrs=[[NSMutableDictionary alloc]init];
NSSize sizeFilled=[字符串大小属性:fontAttrs];
[fontAttrs发布];

如果(sizeFilled.width您是否在询问如何计算创建新textview时应使用的正确rect大小?如果是,下面是一个演示如何使用NSString的SizeWidthAttributes方法的方法:

- (BOOL) doesString:(NSString *)string fitInRectOfSize:(NSSize)rectSize usingFont:(NSFont *)font {
    NSMutableDictionary *fontAttrs = [[NSMutableDictionary alloc] init];
    NSSize sizeFilled = [string sizeWithAttributes:fontAttrs];
    [fontAttrs release];
    if (sizeFilled.width <= rectSize.width && sizeFilled.height <= rectSize.height)
            return YES;
    else 
            return NO;
}
-(BOOL)doesString:(NSString*)字符串fitInRectOfSize:(NSSize)rectSize使用字体:(NSFont*)字体{
NSMutableDictionary*fontAttrs=[[NSMutableDictionary alloc]init];
NSSize sizeFilled=[字符串大小属性:fontAttrs];
[fontAttrs发布];

如果(sizeFilled.width a-ha!sizewidthattributes确实是我所需要的,谢谢!Apple开发文档非常混乱,不是因为它们缺少信息,而是很难找到这些信息。顺便说一句,既然你给我指出了正确的方向,我已经找到了一个例子,可以满足我的需要:将文本置于宽度受限的位置,但不对齐ited高度矩形。下面是一个链接,以防有人需要它:很高兴我能提供您所需的线索,即使最终答案有点超出我的理解。(是的,在苹果开发文档中很难找到具体的解决方案;我通常也会搜索。)a-ha!SizeWithatAttributes确实是我所需要的,谢谢!Apple开发文档非常混乱,不是因为它们缺少信息,而是很难找到这些信息。顺便说一句,现在你给我指出了正确的方向,我已经找到了一个例子,它正是我所需要的:将文本置于宽度受限,但高度不限的矩形中这是一个链接,以防有人需要它:很高兴我能提供你需要的线索,即使最终的答案我有点不知所措。(是的,在苹果开发文档中很难找到具体的解决方案;我通常也会搜索。)