这就是我想要做的事情:为包含多个段落的文本生成打印视图。在每个段落的一侧,我想要显示注释文本。
在drawRect
中如此有效我需要在其右侧创建NSTextView
(在LHS上)和相应的NSTextView
的实例。接下来是另一对,依此类推......
问题是,如何创建宽度有限但高度不受限制的文本视图?我知道将使用什么字体及其大小,但高度还取决于文本包装,我不知道如何解释......
答案 0 :(得分:1)
您是否在询问如何计算用于创建新textview的正确rect尺寸?如果是这样,这是一个演示如何使用NSString的sizeWithAttributes方法的方法:
- (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;
}
对于文本换行,如果文本已输入NSTextView,则字符串在软换行符处将有'\ n'字符。如果你留下这些,stringWithAttributes将考虑它们。