Cómo hacer copiar / pegar función mediante programación en iphone?
Tengo una vista de texto con algo de texto y un botón de copia en esa vista,
Cuando el usuario introduce algún texto y presiona el botón copiar, necesita copiar ese texto y pegarlo donde quiera.
Sé que hay un controlador de menú de copiar/pegar predeterminado en iOS, pero quiero hacer esta funcionalidad con un clic de botón. Creo que hay UIPasteboard
para hacer esta funcionalidad, pero no se como usarla.
5 answers
Para copiar desde un clic de botón:
- (IBAction)copy {
UIPasteboard *pb = [UIPasteboard generalPasteboard];
[pb setString:[textView text]];
}
Para pegar desde un clic de botón:
- (IBAction)paste {
UIPasteboard *pb = [UIPasteboard generalPasteboard];
textView.text = [pb string];
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-05 01:53:52
Swift
Esta es la versión Rápida de la respuesta aceptada.
Copiar
UIPasteboard.general.string = myTextView.text
Pegar
if let myString = UIPasteboard.general.string {
myTextView.insertText(myString)
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-07 03:33:05
Para los desarrolladores que usan MonoTouch, aquí están las dos líneas que usé para completar la tarea en C#.
La respuesta que iscavenger proporcionó a esta pregunta sirvió como modelo para mi respuesta (después de implementarla con éxito en mi proyecto ;-)
UIPasteboard clipboard = UIPasteboard.General;
clipboard.String = "string being added to clipboard";
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-16 16:29:05
No estoy seguro de por qué no podemos simplemente usar:
[theTextView paste:nil];
Según UIResponder docs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-05 01:37:12
Sospecho que puede hacer relativamente fácilmente lo que quiere, comenzando con el [UIPasteboard dataForPasteboardType:]
método .
Hay un código de ejemplo de Apple que puedes ver en:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-08 04:47:26