2012-01-20 34 views
6

dễ dàng câu hỏi nhanhiOS - phát hiện khi người dùng sao chép vào clipboard - [UIPasteboard generalPasteboard]

trong khi sử dụng một WebView với một số văn bản trong nó - người dùng có thể chọn một đoạn văn bản từ nó và nhấn một UIButton mà tôi đã tạo - chạy hành động sau:

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

Tôi muốn gọi cùng chức năng mà không có UIButton, do đó khi người dùng thực hiện tác vụ "sao chép", mã sẽ kích hoạt mã ở trên. (Tôi giả định người nghe)

người nghe thích hợp cho điều này là gì?

+0

bạn đã kiểm tra các thông báo này: http: //stackoverflow.com/questions/4240087/receiving-uipasteboard-generalpasteboard-notification-while-in-the -lý lịch ? –

Trả lời

9

Sử dụng NSNotificationCenter và đăng ký 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

cảm ơn! hoạt động rất tốt. – chewy

+1

Xin chào, Ứng dụng có hoạt động khi người dùng sao chép bất kỳ thứ gì trong bất kỳ ứng dụng nào khác không. –