2012-01-20 9 views
6

素早く簡単な質問のiOS - ユーザーのクリップボードにコピーするときに検出 - [UIPasteboard generalPasteboard]

その中にいくつかのテキストでのWebViewを使用している間 - ユーザーが からテキストのスニペットを選択しているI UIButtonを押すことができます私は、ユーザーが、それは上記のコードをアクティブにする「コピー」アクションをしたのでとき、UIButtonすることなく、同じ関数を呼び出すしたいと思います

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

: - 作成し、次のアクションを実行しています。 (私はリスナーと思う)

これには適切なリスナーは何でしょうか?

+0

は、あなたがこれらの通知を確認しています。http://stackoverflow.com/questions/4240087/receiving-uipasteboard-generalpasteboard-notification-while-in-the -バックグラウンド ? –

答えて

9

使用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]; 
+1

ありがとう!非常にうまくいきます。 – chewy

+1

ちょっと、ユーザーが他のアプリで何かをコピーしてもらえますか? –