7

快速简单的问题

在使用带有一些文本的 WebView 时 - 用户可以从中选择一段文本并按下我创建的 UIButton - 运行以下操作:

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

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

什么是合适的听众?

4

2 回答 2

16

使用 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];
于 2012-01-20T13:29:56.527 回答
0

如果有人对 Xamarin/C# 版本感兴趣:

NSNotificationCenter.DefaultCenter.AddObserver(UIPasteboard.ChangedNotification, 
            notification => { 
                // custom code here
            });
于 2020-06-23T08:49:27.237 回答