2012-01-20 16 views
6

rapida domanda facileiOS - rilevare quando copia utente negli appunti - [UIPasteboard generalPasteboard]

mentre si utilizza un WebView con un testo in essa - l'utente può selezionare un frammento di testo da esso e premere un UIButton che ho creato - in esecuzione le seguenti azioni:

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

vorrei chiamare la stessa funzione senza un UIButton, in tal modo quando l'utente ha fatto un'azione di "copia" si attiverà il codice di cui sopra. (Presumo un ascoltatore)

quale sarebbe l'ascoltatore appropriato per questo?

+0

hai controllare queste notifiche: http: //stackoverflow.com/questions/4240087/receiving-uipasteboard-generalpasteboard-notification-while-in-the -sfondo ? –

risposta

9

Usa NSNotificationCenter e registrarsi per 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

grazie! funziona molto bene – chewy

+1

Ehi, Funziona quando l'utente ottiene la copia di qualsiasi cosa in qualsiasi altra app. –

Problemi correlati