【发布时间】:2009-06-27 07:33:16
【问题描述】:
有谁知道,如何在 iPhone 3.0 上禁用剪切、复制和粘贴选项?
感谢您的帮助和时间。
【问题讨论】:
标签: iphone iphone-sdk-3.0
有谁知道,如何在 iPhone 3.0 上禁用剪切、复制和粘贴选项?
感谢您的帮助和时间。
【问题讨论】:
标签: iphone iphone-sdk-3.0
我也找不到太多关于为此目的使用 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:,这样我就可以允许用户复制/粘贴他们自己创建的内容。
【讨论】:
在控制器类中重写此方法。
// 隐藏剪切/复制/粘贴菜单
-(BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if ( [UIMenuController sharedMenuController] )
{
[UIMenuController sharedMenuController].menuVisible = NO;
}
return NO;
}
【讨论】:
任何响应者(UIView 或 UIWindow 子类)都可以覆盖 canPerformAction:withSender: 方法,因此您可以对所有您不想允许的操作返回 NO。
【讨论】: