Cocoa / Obj-C - TextField到剪贴板按钮

时间:2011-03-12 15:01:42

标签: objective-c cocoa xcode macos clipboard

获得1个 UITextField 和1个按钮。 我的文本字段中有文本,当我们点击按钮时,文本将被复制到 OSX剪贴板。

我该怎么做? 我已经阅读了 NSPastboard 类参考,但不明白该怎么做 - 很简单 -

在我的 AppControler.h 中定义了我的按钮,如下所示:

- (IBAction)copyButton:(id)sender;

我应该在 AppControler.m 中写些什么?我的文本域名为“descTextField”

3 个答案:

答案 0 :(得分:17)

- (IBAction)copyButton:(id)sender {
   NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard];
   [pasteBoard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, nil] owner:nil];
   [pasteBoard setString: [textField stringValue] forType:NSStringPboardType];
}

答案 1 :(得分:0)

根据apple's doc / guide我认为它应该是这样的:

- (IBAction)copyButton:(id)sender {
    NSPasteboard *pasteBoard = [NSPasteboard generalPasteboard]; 
    [pasteBoard clearContents];
    [pasteBoard writeObjects:@[[textField stringValue]]];
}

答案 2 :(得分:0)

希望这对您有用。

    - (IBAction)copyToClipboardActionBtn:(id)sender {
        UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
        [pasteBoard setString: _descTextField.text];
    }