在iPad中自定义选择,复制/粘贴

时间:2011-06-29 13:24:46

标签: ipad

我在iPad上使用eBook App,并使用UIMenuController。我想自定义菜单控制器中默认的选择,复制和粘贴功能。我无法自定义该功能请帮我解决源代码

由于 KUNAL

1 个答案:

答案 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个自定义菜单,当您选择选项时,它将相应地触发选择器。

希望它有所帮助。