web-dev-qa-db-ja.com

iPhoneでプログラムでコピー/貼り付け機能を実行するにはどうすればよいですか?

テキストビューとそのビューにコピーボタンがあるテキストビューがあり、

ユーザーがテキストを入力してコピーボタンを押すと、そのテキストをコピーして、必要な場所に貼り付ける必要があります。

IOSにはデフォルトのコピー/貼り付けメニューコントローラがあることは知っていますが、ボタンクリックでこの機能を実行したいと思います。この機能を実行するUIPasteboardがあると思いますが、使用方法がわかりません。

40
ICoder

ボタンをクリックしてコピーするには:

- (IBAction)copy {
    UIPasteboard *pb = [UIPasteboard generalPasteboard];
    [pb setString:[textView text]];
}

ボタンをクリックして貼り付けるには:

- (IBAction)paste {
    UIPasteboard *pb = [UIPasteboard generalPasteboard];
    textView.text = [pb string];
}
115
iscavengers

Swift

これはSwift受け入れられた答えのバージョンです。

コピー

UIPasteboard.general.string = myTextView.text

貼り付け

if let myString = UIPasteboard.general.string {
    myTextView.insertText(myString)
}
11
Suragch

MonoTouchを使用する開発者向けに、C#でタスクを完了するために使用した2行を次に示します。

この質問に提供された回答iscavengerは、私の回答のモデルとして機能しました(プロジェクトに正常に実装した後;-)

UIPasteboard clipboard = UIPasteboard.General;
clipboard.String =  "string being added to clipboard";
7
benhorgen

単純に使用できない理由がわかりません:

[theTextView paste:nil];

IResponder docs

6
Ben Packard
4