在iPhone 3.0上如何禁用剪切,复制和粘贴选项

时间:2009-06-27 07:33:17

标签: iphone iphone-sdk-3.0

有谁知道,如何在iPhone 3.0上禁用剪切,复制和粘贴选项?

感谢您的帮助和时间。

3 个答案:

答案 0 :(得分:3)

我也找不到很多关于使用 canPerformAction:withSender:的文档。因此,我决定在退出应用程序时清除粘贴板。在我的AppDelegate.m中:

- (void)applicationWillTerminate:(UIApplication *)application {

  NSLog(@"application terminating");

  // Clear pasteboard to prevent pasting into other applications:
  UIPasteboard *pasteBoard = [UIPasteboard generalPasteboard];
  pasteBoard.items = nil;

}

这适用于我的用户注释参考应用程序。我不介意用户在我的应用程序中复制和粘贴,但我宁愿他们不要重新发布我的原始内容。

在某些时候,我希望使用 canPerformAction:withSender:进行更细粒度的控制,以便我可以允许用户复制/粘贴他们自己创建的内容。

答案 1 :(得分:3)

在控制器类中重写此方法。

//隐藏剪切/复制/粘贴菜单

-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {

    if ( [UIMenuController sharedMenuController] )
    {
        [UIMenuController sharedMenuController].menuVisible = NO;

    }
    return NO;  
}

答案 2 :(得分:2)

任何响应者(UIView或UIWindow子类)都可以覆盖 canPerformAction:withSender:方法,因此您只需为您不想允许的所有操作返回NO。

请参阅UIResponder documentation ...