iOS开发中关于UIMenuItem及UIMenuController的使用

一般情况下这个控件很少用,长安手势可以配合菜单使用,主要适用于记录屏幕某一块儿信息。

 //创建点击屏幕要弹出的item
UIMenuItem * item1=[[UIMenuItem alloc]initWithTitle:@"剪切" action:@selector(restet:)];
UIMenuItem * item2=[[UIMenuItem alloc]initWithTitle:@"粘贴" action:@selector(restet:)];
        
//创建UIMenuController
UIMenuController * menuController=[UIMenuController sharedMenuController];
menuController.menuItems=@[item1,item2];
//菜单的frame不能固定死,所以需要获得当前点击的区域的point
CGPoint point=[longPresss locationInView:self.view];
//设置menuController的显示位置
[menuController setTargetRect:CGRectMake(point.x, point.y, 0, 0) inView:longPresss.view];
//注意:当使用menuController的时候,一定要把canBecomeFirstResponder方法重写出来;
[menuController setMenuVisible:YES animated:YES];

实现相关方法:

/*系统提供的有一些公用的方法,只需要实现出来,对应的menuItem就会加上去 */
-(void)copy:(id)sender
{
    NSLog(@"复制");
}
-(void)paste:(id)sender
{
    NSLog(@"粘贴");
}
-(void)select:(id)sender
{}
-(void)selectAll:(id)sender
{}
-(void)restet:(UIMenuItem *)item
{
    NSLog(@"剪切");
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容