在开发过程中遇到在粘贴文本信息之后需要执行附加的事件,所以这就有必要监听粘贴事件,在执行完粘贴事件之后再执行自己的附加事件。
其实UITextfild和UITextView的控件都有默认系统自带的粘贴、拷贝等选项,其实系统弹出的粘贴的控件是封装的一个UIMenuController(是个单例)这是一个比较简单的类,自己可以进去查看。下边直接说代码:
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(posted:) name:UIMenuControllerDidHideMenuNotification object:nil];
- (void)posted:(NSNotification*)s{
if(_textField.text.length>0) {
NSURL*url =[NSURLURLWithString:_textField.text];
NSURLRequest*request =[[NSURLRequestalloc]initWithURL:url];
[_webViewloadRequest:request];
}
}
看见主要在他的几个通知里面:
所以对于粘贴等事件的监听完全可以靠这几个通知来监听!
有兴趣的可以再深入研究它的主要属性:UIMenuItem,其实对于图中的这些操作的item的信息都在UIMenuItem中