iOS – 当用户复制到剪贴板时检测 –

快速简单的问题

当使用带有一些文本的WebView时 – 用户可以从中select一段文本并按下我创build的UIButton – 运行以下操作:

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

我想在没有UIButton的情况下调用相同的函数,因此当用户执行“复制”操作时,它将激活上述代码。 (我假设一个听众)

这会是什么适当的倾听者呢?

使用NSNotificationCenter并注册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];