在 iPhoto 中,我只需将手指放在图像上即可获得“复制”弹出窗口(就像您在文本框中看到的弹出窗口)。
在我的 UIImageView 中,情况并非如此。如何启用它?
最佳答案
您可以使用 UIMenuController
class 手动显示剪切/复制/粘贴菜单.例如,以下代码将以您的图像为中心显示菜单:
[self becomeFirstResponder];
UIMenuController *copyMenuController = [UIMenuController sharedMenuController];
[copyMenuController setTargetRect:image.frame inView:self.view];
[copyMenuController setMenuVisible:YES animated:YES];
这假设您将在 UIViewController
中实现此代码对于托管您的图片的 View 。
要启用各种菜单项,您还需要在 Controller 中实现一些委托(delegate)方法:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(cut:))
return NO;
else if (action == @selector(copy:))
return YES;
else if (action == @selector(paste:))
return NO;
else if (action == @selector(select:) || action == @selector(selectAll:))
return NO;
else
return [super canPerformAction:action withSender:sender];
}
- (BOOL)canBecomeFirstResponder
{
return YES;
}
在这种情况下,只会启用复制菜单选项。您还需要实现适当的 -copy: 方法来处理用户选择该菜单项时发生的情况。
关于ios - 如何让标准的 iPhone Copy 气泡出现在 UIImage 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534886/