web-dev-qa-db-fra.com

Comment faire la fonction copier / coller par programme dans l'iphone?

J'ai une vue texte avec du texte et un bouton de copie dans cette vue,

Lorsque l'utilisateur saisit du texte et appuie sur le bouton de copie, il doit copier ce texte et coller ce texte où il veut.

Je sais qu'il y a un contrôleur de menu par défaut copier/coller dans iOS, mais je veux faire cette fonctionnalité en un clic de bouton. Je pense qu'il y a UIPasteboard pour faire cette fonctionnalité, mais je ne sais pas comment l'utiliser.

41
ICoder

Pour copier à partir d'un bouton, cliquez sur:

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

Pour coller à partir d'un bouton, cliquez sur:

- (IBAction)paste {
    UIPasteboard *pb = [UIPasteboard generalPasteboard];
    textView.text = [pb string];
}
114
Shishir.bobby

Swift

Il s'agit de la version Swift de la réponse acceptée.

Copier

UIPasteboard.general.string = myTextView.text

Coller

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

Pour les développeurs utilisant MonoTouch, voici les deux lignes que j'ai utilisées pour terminer la tâche en C #.

La réponse fournie par le passager à cette question a servi de modèle à ma réponse (après l'avoir mise en œuvre avec succès dans mon projet ;-)

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

Je ne sais pas pourquoi nous ne pouvons pas simplement utiliser:

[theTextView paste:nil];

selon documents UIResponder

6
Ben Packard

Je suppose que vous pouvez relativement facilement faire ce que vous voulez, à commencer par [UIPasteboard dataForPasteboardType:] méthode .

Il y a Apple exemple de code que vous pouvez consulter:

http://developer.Apple.com/library/ios/#samplecode/CopyPasteTile/Introduction/Intro.html#//Apple_ref/doc/uid/DTS4000904

4