Добавить UIMenuItem для определенного UITextView?
У меня много UITextView
s на моем экране, и я хочу добавить новый кастом UIMenuItem
для одного из них.
Можно добавить кастом UIMenuItem
только для конкретного UITextView
?
Я использую приведенный ниже код, но у меня есть пользовательская кнопка для всех UITextView
s
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Read" action:@selector(readButtonAction)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];
Спасибо
2 ответа
Решение
Если ты хочешь UIMenuItem
отображаться для конкретного UITextView
Вы можете просто добавить пункт меню в textFieldDidBeginEditing
метод и добавить определенный тег к UITextView
так что пользовательский пункт меню отображается только для этого:
-(void)textViewDidBeginEditing:(UITextView *)textView
{
if(textview.tag==999) //specify for which textveiw you want custom menu
{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Read" action:@selector(readButtonAction)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];
}];
}
}
I did not test it, but you could reset the menuItems
когда один из UITextView
стать первым респондентом. I'd do that by subclassing UITextView
и реализации becomeFirstResponder
,