標籤:複製 粘貼
首先用下面四張圖,說明我要實現的功能。【講一張圖片複製到另外一個UIimageView上】
實現代碼如下:
-(IBAction)panGestureTop:(UILongPressGestureRecognizer *)longPress{ UIMenuItem * itemPase = [[UIMenuItem alloc] initWithTitle:@"複製" action:@selector(copyimage)]; UIMenuItem * itemTrans = [[UIMenuItem alloc] initWithTitle:@"轉寄" action:@selector(trans)]; UIMenuItem * itemCollect = [[UIMenuItem alloc] initWithTitle:@"收藏" action:@selector(collect)]; UIMenuItem * itemJoin = [[UIMenuItem alloc] initWithTitle:@"加入" action:@selector(join)]; UIMenuController * menuController = [UIMenuController sharedMenuController]; [menuController setMenuItems: @[itemPase,itemCollect,itemTrans,itemJoin]]; CGPoint location = [longPress locationInView:[longPress view]]; CGRect menuLocation = CGRectMake(location.x, location.y, 0, 0); [menuController setTargetRect:menuLocation inView:[longPress view]]; menuController.arrowDirection = UIMenuControllerArrowDown; [menuController setMenuVisible:YES animated:YES];}-(BOOL)canBecomeFirstResponder{ return YES;}-(void)copyimage{ UIPasteboard * pasterBoard = [UIPasteboard pasteboardWithName:@"com.test.image" create:YES]; pasterBoard.image = [self.topImgView image]; }-(IBAction)panGestureBottom:(UILongPressGestureRecognizer *)longPress{ UIMenuItem * itemPase = [[UIMenuItem alloc] initWithTitle:@"粘貼" action:@selector(pase)]; UIMenuController * menuController = [UIMenuController sharedMenuController]; [menuController setMenuItems: @[itemPase]]; CGPoint location = [longPress locationInView:[longPress view]]; CGRect menuLocation = CGRectMake(location.x, location.y, 0, 0); [menuController setTargetRect:menuLocation inView:[longPress view]]; menuController.arrowDirection = UIMenuControllerArrowDown; [menuController setMenuVisible:YES animated:YES];}-(void)pase{ UIPasteboard * pasterBoard = [UIPasteboard pasteboardWithName:@"com.test.image" create:NO]; self.bottomImgView.image = pasterBoard.image;}
當操作的時候,我們需要把當前的UIViewController變成第一響應者。
複製相當於copy了一份,加入我在複製過圖片之後,粘貼圖片之前,把原來的那個image刪除掉,則依然可以進行粘貼。