【问题标题】:How can I get the standard iPhone Copy bubble to appear on a UIImage?如何让标准 iPhone 复制气泡出现在 UIImage 上?
【发布时间】:2010-12-04 19:52:06
【问题描述】:

在 iPhoto 中,我只需将手指放在图像上即可获得“复制”弹出窗口(就像您在文本框中看到的弹出窗口一样)。

在我的 UIImageView 中,情况并非如此。如何启用它?

【问题讨论】:

    标签: ios uiimage copy clipboard uipasteboard


    【解决方案1】:

    您可以使用UIMenuController class 手动显示剪切/复制/粘贴菜单。例如,以下代码将显示菜单,以您的图像为中心:

    [self becomeFirstResponder];
    
    UIMenuController *copyMenuController = [UIMenuController sharedMenuController];
    
    [copyMenuController setTargetRect:image.frame inView:self.view];
    [copyMenuController setMenuVisible:YES animated:YES];
    

    这假设您将在 UIViewController 中为托管您的图像的视图实现此代码。

    要启用各种菜单项,您还需要在控制器中实现一些委托方法:

    - (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: 方法来处理用户选择该菜单项时发生的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-23
      • 2010-12-22
      • 1970-01-01
      相关资源
      最近更新 更多