cocoa 。创建 NSTextView,向其添加 NSString 并打印

标签 cocoa macos

我有一个带有打印收据按钮的窗口。我需要做的是创建一个简单的 NSTextView,向其中添加一个 NSString(至少类似于“Hello World”)并打印它,而不在窗口上显示 NSTextView。

这是我目前拥有的:

    NSTextView *textView = [[NSTextView alloc] init];

    NSString *text = @"testing";

    [textView setEditable:true];
    NSRange range = NSMakeRange( 0, [[textView string] length]);
    [textView setSelectedRange:range];
    [[[textView textStorage] mutableString] appendString:text];

    NSPrintOperation *printOperation;

    printOperation = [NSPrintOperation printOperationWithView:textView];


    [printOperation runOperation];

当我运行它时,我看到打印对话框,但预览是空的。 当我更改 printOperationWithView:textView]; 时从 textView 到我窗口上的现有 View 之一,它打印正常。

最主要的是..我不想在单击“打印”按钮后显示 View 。理想情况下,我想打印文本,而不是 View 。

最佳答案

您是否尝试过将 -initWithFrame 与非零矩形一起使用?

NSTextView *textview = [[NSTextView alloc] initWithFrame:NSMakeRect(0, 0, 468, 648);

(468 x 648 适合 1 英寸边距的 A4 纸。)

关于 cocoa 。创建 NSTextView,向其添加 NSString 并打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7097219/

相关文章:

objective-c - http请求的可接受速率

java - OS X 上包含单个项目的 TabFolder

python - 从标准 Cocoa 应用程序运行 python 代码

python - 你如何在 Mac 上收听来自 iTunes 的通知(使用 NSDistributedNotificationCenter)

macos - 使用 Core Data 和 iCloud 添加持久存储时涉及 PFUbiquityPeer 异常

cocoa - 将路径设置为 Cocoa 应用程序中的 .dylib 路径

macos - 如何在NSViewController中调用registerForDraggedTypes?

objective-c - Cocoa Binding 仅用于检索

cocoa - 使用 Webkit 在 OSX 上创建可换肤的自定义窗口

macos - 在 OSX Sierra 中使用专有编解码器支持构建 CEF