首先,这四个地图。我想实现的功能。【一张照片讲一个复制到另一UIimageView上】

实现代码例如以下:

  1. -(IBAction)panGestureTop:(UILongPressGestureRecognizer *)longPress
  2. {
  3.  
  4. UIMenuItem * itemPase = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector(copyimage)];
  5. UIMenuItem * itemTrans = [[UIMenuItem alloc] initWithTitle:@"转发" action:@selector(trans)];
  6. UIMenuItem * itemCollect = [[UIMenuItem alloc] initWithTitle:@"收藏" action:@selector(collect)];
  7. UIMenuItem * itemJoin = [[UIMenuItem alloc] initWithTitle:@"增加" action:@selector(join)];
  8.  
  9. UIMenuController * menuController = [UIMenuController sharedMenuController];
  10. [menuController setMenuItems: @[itemPase,itemCollect,itemTrans,itemJoin]];
  11.  
  12. CGPoint location = [longPress locationInView:[longPress view]];
  13. CGRect menuLocation = CGRectMake(location.x, location.y, 0, 0);
  14. [menuController setTargetRect:menuLocation inView:[longPress view]];
  15. menuController.arrowDirection = UIMenuControllerArrowDown;
  16.  
  17. [menuController setMenuVisible:YES animated:YES];
  18.  
  19. }
  20. -(BOOL)canBecomeFirstResponder
  21. {
  22. return YES;
  23. }
  24.  
  25. -(void)copyimage
  26. {
  27.  
  28. UIPasteboard * pasterBoard = [UIPasteboard pasteboardWithName:@"com.test.image" create:YES];
  29. pasterBoard.image = [self.topImgView image];
  30.  
  31. }
  32. -(IBAction)panGestureBottom:(UILongPressGestureRecognizer *)longPress
  33. {
  34. UIMenuItem * itemPase = [[UIMenuItem alloc] initWithTitle:@"粘贴" action:@selector(pase)];
  35.  
  36. UIMenuController * menuController = [UIMenuController sharedMenuController];
  37. [menuController setMenuItems: @[itemPase]];
  38.  
  39. CGPoint location = [longPress locationInView:[longPress view]];
  40. CGRect menuLocation = CGRectMake(location.x, location.y, 0, 0);
  41. [menuController setTargetRect:menuLocation inView:[longPress view]];
  42. menuController.arrowDirection = UIMenuControllerArrowDown;
  43.  
  44. [menuController setMenuVisible:YES animated:YES];
  45.  
  46. }
  47. -(void)pase
  48. {
  49. UIPasteboard * pasterBoard = [UIPasteboard pasteboardWithName:@"com.test.image" create:NO];
  50. self.bottomImgView.image = pasterBoard.image;
  51.  
  52. }

当操作的时候。我们须要把当前的UIViewController变成第一响应者。

复制相当于copy了一份,增加我在复制过图片之后,粘贴图片之前,把原来的那个image删除掉。则依旧能够进粘贴行。

版权声明:本文博客原创文章。博客,未经同意,不得转载。

UIMenuController,UIPasteboard:复制,粘贴详细解释的更多相关文章

  1. UIMenuController/UIPasteboard(2) UITableView上实用剪贴板

    在UITableView上实用剪贴板有两种方法: 一.在tableView的代理方法中直接有三个有关剪贴板的方法. //某行是否允许show菜单 -(BOOL)tableView:(UITableVi ...

  2. emacs复制粘贴和查找撤销

    在emacs下复制粘贴是这样的.1.在任一行中按下ctrl+space键,最底行会显示 Mark set 表示已经开始标记了.2.移动鼠标或者选中文字然后,可以有两种方式:Alt+w (复制) 或者  ...

  3. 复制粘贴出来的悲剧----spring实现文件下载和HttpStatus.CREATED

    今天真是被自己的懒惰和复制粘贴给坑惨了... 网上有这么一个spring下载文件的最佳实践: @RequestMapping("download") public Response ...

  4. shutil复制粘贴和压缩

    shutil复制粘贴和压缩 shutil 高级的文件.文件夹.压缩包处理模块 @1).将文件内容拷贝到另一个文件中 import shutil shutil.copyfileobj(open(&quo ...

  5. 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件

    [源码下载] 重新想象 Windows 8 Store Apps (40) - 剪切板: 复制/粘贴文本, html, 图片, 文件 作者:webabcd 介绍重新想象 Windows 8 Store ...

  6. Java进阶(十五)Java中设置session的详细解释

    Java中设置session的详细解释 简单通俗的讲session就是象一个临时的容器,用来存放临时的东西.从你登陆开始就保存在session里,当然你可以自己设置它的有效时间和页面,举个简单的例子: ...

  7. iOS开发之--复制粘贴功能

    复制粘贴功能,代码如下: 1.复制功能 UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; pasteboard.string = ...

  8. Vim 安装、配置及复制粘贴操作

    1.安装:sudo apt-get install vim 2.配置:cd ~ #进入用户主目录 touch .vimrc #.后缀文件不可见 vi .vimrc #打开文件 输入: set cind ...

  9. in文件注意事项及详细解释

    lammps做分子动力学模拟时,需要一个输入文件(input script),也就是in文件,以及关于体系的原子坐标之类的信息文件(data file)和势文件(potential file).lam ...

随机推荐

  1. android学习一些帖子

    关于谷歌和苹果的帖子 http://news.eoe.cn/18576.html android无线调试的帖子: http://baoyz.com/android/2014/06/24/adb-wir ...

  2. 重新想象 Windows 8 Store Apps (10) - 控件之 ScrollViewer 特性: Chaining, Rail, Inertia, Snap, Zoom

    原文:重新想象 Windows 8 Store Apps (10) - 控件之 ScrollViewer 特性: Chaining, Rail, Inertia, Snap, Zoom [源码下载] ...

  3. hadoop-1.1.2 在Windows环境下的部署

    1:先安装Cygwin 参考http://blog.csdn.net/wind520/article/details/9223003 2:下载 3:解压在C:\cygwin\hadoop1 4:配置 ...

  4. Oracle 11G CRUD操作监控单个表

    前言:    线上oracle数据库有张表的数据有些乱,依据应用db的log和应用的log也没有检查出来谁改动了.所以决定把这张单表做个具体的insert.update.delete监控.一:使用数据 ...

  5. git commit -s -m 注释中的换行 [加入signed-off-by

    windows环境下的Git Bash中注释的换行: 使用单引号. 或者是在Linux系统里面用终端 git add . git commit -m ' . this is the test . up ...

  6. RH033读书笔记(2)-Lab 3 Getting Help with Commands

    Lab 3 Getting Help with Commands Sequence 1: Using the Help Tools 1. man -f keyword whatis keyword l ...

  7. DSR on Openstack POC

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFvbGlwaW5nNDU1bWxwNDU1/font/5a6L5L2T/fontsize/400/fil ...

  8. 左右db_block_size了解和实验

    关于db_block_gets了解和实验 实验 一. 自己手动创建的小表 创建一个区大小为  40k  SYS@ORCL>show parameter db_block_size NAME   ...

  9. UVA 11992 - Fast Matrix Operations(段树)

    UVA 11992 - Fast Matrix Operations 题目链接 题意:给定一个矩阵,3种操作,在一个矩阵中加入值a,设置值a.查询和 思路:因为最多20列,所以全然能够当作20个线段树 ...

  10. 全栈JavaScript之路(十七)HTML5 新增字符集属性

    HTML5 添加�了几个文档字符集属性. document.charset : 表示文档的实际使用的字符集. document.defaultCharset: 表示默认的字符集,跟浏览器以及操作系统设 ...