2012-02-22 3 views
2

я хочу, чтобы создать элемент управления меню на заказ в UIWebView, используяпользовательское меню управление в UIWebView

- (void) setUpCustomMenu 
{ 

    Class cls1 = NSClassFromString(@"UIMenuController"); 
    Class cls2 = NSClassFromString(@"UIMenuItem"); 

    if (cls1 && cls2) 

    if ([UIMenuController instancesRespondToSelector:@selector(setMenuItems:)]) 
    { 
     UIMenuItem* item1 = [[UIMenuItem alloc] initWithTitle:@"My Menu Item" action:@selector(myMenuAction:)]; 
     [UIMenuController sharedMenuController].menuItems = [NSArray arrayWithObjects:item1, nil];; 
     [item1 release]; 
    } 

} 

, но я не в состоянии создать пользовательское меню, пожалуйста, руководство меня.

ответ

8

Расширение меню системы редактирования

NSMutableArray *extraItems = [[NSMutableArray alloc] init]; 
UIMenuItem *boldItem = [[UIMenuItem alloc] initWithTitle:@”Bold” 
                action:@selector(bold:)]; 
[extraItems addObject:boldItem]; 
[[UIMenuController sharedMenuController].menuItems = extraItems; 

UIWebView Расширение меню системы редактирования

// For your UIWebView subclass: 
- (void)bold:(id)sender { 
    [self stringByEvaluatingJavaScript:@”document.execCommand(‘Bold’)]; 
} 

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { 
    if (action == @selector(bold:)) 
     return YES; 
    return [super canPerformAction:action 
         withSender:sender]; 
} 
+0

спасибо, он работает. У вас есть идея о том, как удалить меню копирования из UIWebView. –

+2

- (BOOL) canPerformAction: (SEL) действие withSender: (id) отправитель { \t BOOL retValue = NO; \t // ColorTile * theTile = [self colorTileForOrigin: currentSelection]; \t \t if (action == @selector (paste :)) \t \t retValue = NO; \t else if (action == @selector (cut :) || action == @selector (копия :)) \t \t retValue = NO; \t еще \t \t retValue = [super canPerformAction: действие withSender: отправитель]; \t return retValue; } } – PeakJi

+0

@aartiGarg return NO in - (BOOL) canPerformAction: withSender: если действие является @selector (копия :) – PeakJi

1

Вам нужно создать подкласс UIWebView, это смотреть в WWDC 2011 видео: Rich Text Editing in Safari on iOS

+0

Will пожалуйста, дайте мне пример для вышеуказанного. –

+0

@aartiGarg Я добавил новый ответ для подробностей. – PeakJi

Смежные вопросы