我在iPad上使用eBook App,并使用UIMenuController。我想自定义菜单控制器中默认的选择,复制和粘贴功能。我无法自定义该功能请帮我解决源代码
由于 KUNAL
答案 0 :(得分:3)
按如下方式导出UITextView。
//MyUITextView.h
#import <Foundation/Foundation.h>
@interface MyUITextView : UITextView {
}
@end
//MyUITextView.m
#import "MyUITextView.h"
@implementation MyUITextView
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(menu1:))
return YES;
if (action == @selector(menu2:))
return YES;
return NO;//[super canPerformAction:action withSender:sender];
}
- (void)menu1:(id)sender
{
NSLog(@"in menu1");
}
- (void)menu2:(id)sender
{
NSLog(@"in menu2");
}
@end
在viewDidLoad
下的视图控制器中UIMenuItem *menu1 = [[[UIMenuItem alloc] init]autorelease];
menu1.title = @"MyMenu1";
menu1.action = @selector(menu1:);
UIMenuItem *menu2 = [[[UIMenuItem alloc] init]autorelease];
menu2.title = @"MyMenu2";
menu2.action = @selector(menu2:);
UIMenuController* mc = [UIMenuController sharedMenuController];
mc.menuItems = [NSArray arrayWithObjects: menu1, menu2, nil];
如果是在nib上,则需要从interfacebuilder为TextView分配类,如果你动态创建它,则创建MyUITextView的对象而不是UITextView。
上面的代码在您选择文本时添加了2个自定义菜单,当您选择选项时,它将相应地触发选择器。
希望它有所帮助。