2014-02-17 2 views
3

Я хочу добавить дополнительный пункт меню для меню, которое появляется, когда выбран какой-либо текст.iOS 7 - Расширенное меню UIWebView

Я добавил код ниже viewDidLoad:

NSMutableArray *extraItems = [[NSMutableArray alloc] init]; 
UIMenuItem *boldItem = [[UIMenuItem alloc] initWithTitle:@"Bold" 
                 action:@selector(bold:)]; 
[extraItems addObject:boldItem]; 

[UIMenuController sharedMenuController].menuItems = extraItems; 

Я также переписан мое пользовательское UIWebView с этими методами:

- (void)bold:(id)sender { 

} 

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

Так что иногда, когда я выделите текст умиротворителей меню, но иногда это не так. Я не знаю, в чем проблема.

ответ

0

массив «extraItems» должен быть NSArray, не NSMutableArray, так что ваша первая три строки, добавленной в viewDidLoad должен быть заменен:

UIMenuItem* extraItem = [[UIMenuItem alloc] initWithTitle:@"Bold" action:@selector(bold:)]; NSArray* extraItems = [NSArray arrayWithObject:extraItem];

Затем добавьте эту версию массива extraItems в sharedMenuController так же, как и вы.

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