2011-06-29 52 views
2

我正在iPad上使用電子書應用程序,並使用UIMenuController.And我想自定義選擇,複製和粘貼功能,默認在菜單控制器中。我不能自定義函數,請幫我出源代碼在iPad中自定義選擇,複製/粘貼

感謝 注:Kunal

+1

請添加你想要做的和你迄今爲止所做的事情。我們更容易幫助你朝着正確的方向前進。謝謝。 –

+0

您好Deepak ..感謝您的迴應..實際上,每當我們點擊TextView和TextField的任何關鍵文本時,我們得到一些選項,在選擇點擊點,選擇全部,複製,粘貼等。這就是UIMenuController,我只是想自定義該選項並添加另一個選項...像字典。如果你能理解,請諒解,然後幫助我,如果可行的話。謝謝 –

回答

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]; 

下您需要分配類到你的TextView從InterfaceBuilder的,如果它是在筆尖,如果你創建它動態地創建MyUITextView而不是UITextView的對象。

上面的代碼添加2個自定義菜單,當你選擇文本,當你選擇選項時,它會相應地觸發選擇器。

希望它有幫助。

+0

太好了。我嘗試閱讀蘋果的文檔,但它太籠統了,不太清楚如何找出這種特殊情況。這是一個快速配方。 –