Je cherche un exemple clair sur la façon de copier du texte dans le presse-papiers iOS, qui peut ensuite être utilisé/collé dans d'autres applications.
L'avantage de cette fonction est que le texte peut être copié rapidement, sans les fonctions de mise en évidence de texte standard de la copie de texte traditionnelle.
Je suppose que les classes de clés sont dans UIPasteboard
, mais je ne trouve pas les zones appropriées dans exemple de code fourni .
Si tout ce que vous voulez, c'est du texte brut, vous pouvez simplement utiliser la propriété string
. C'est à la fois lisible et inscriptible:
// write to clipboard
UIPasteboard.general.string = "Hello world"
// read from clipboard
let content = UIPasteboard.general.string
(Lorsque lit dans le presse-papiers, , la documentation de UIPasteboard suggère également que vous souhaitiez d'abord vérifier hasStrings
, "pour éviter que le système n'essaye inutilement de récupérer des données avant qu'elles ne soient nécessaires ou lorsque les données risquent de ne pas être présentes", par exemple lors de l'utilisation de Handoff.)
Puisque copier et coller se fait généralement par paires, c’est une réponse complémentaire à @jtbandes bonne, réponse concise. À l'origine, je suis venu ici en cherchant comment coller.
iOS rend cela facile parce que le presse-papiers général peut être utilisé comme une variable. Il suffit d’obtenir et de définir UIPasteboard.general.string
.
Voici un exemple montrant les deux utilisés avec un UITextField
:
Copier
UIPasteboard.general.string = myTextField.text
Coller
if let myString = UIPasteboard.general.string {
myTextField.insertText(myString)
}
Notez que la chaîne de montage est optionnelle, elle doit donc d'abord être déballée.
Copier du texte de l'application dans le presse-papiers:
let pasteboard = UIPasteboard.general
pasteboard.string = employee.phoneNumber
Swift 4
UIPasteboard.general.string = "TEXT"