2012-01-20 9 views
6

rápida pregunta fácilIOS - detectan cuando se copia el usuario al portapapeles - [UIPasteboard generalPasteboard]

mientras se utiliza un WebView con un texto en el que - el usuario puede seleccionar un fragmento de texto de que y presione un UIButton cual creado - ejecutar las siguientes acciones:

-(IBAction)copyToClip 
{ 
    NSString *copyClip = [UIPasteboard generalPasteboard].string; 
    NSLog(@"Clip = %@",copyClip); 
    // (works fine) 
} 

quisiera llamar la misma función sin un UIButton, por lo tanto cuando el usuario hizo una acción de "copia", se activará el código de seguridad. (Supongo que un oyente)

¿cuál sería el oyente apropiado para esto?

+0

has comprobar estas notificaciones: http: //stackoverflow.com/questions/4240087/receiving-uipasteboard-generalpasteboard-notification-while-in-the -fondo ? –

Respuesta

9

Uso NSNotificationCenter y registrarse para UIPasteboardChangedNotification: http://developer.apple.com/library/IOs/documentation/UIKit/Reference/UIPasteboard_Class/Reference.html#//apple_ref/c/data/UIPasteboardChangedNotification

[[NSNotificationCenter defaultCenter] addObserver:object selector:@selector(copyToClip) name:UIPasteboardChangedNotification object:nil]; 
+1

gracias! funciona muy bien – chewy

+1

Oye, ¿está funcionando cuando el usuario recibe una copia de cualquier cosa en cualquier otra aplicación? –

Cuestiones relacionadas