为特定的 UITextView 添加 UIMenuItem?

Add a UIMenuItem for a specific UITextView?

我的屏幕上有很多 UITextView,我想为其中一个添加新的自定义 UIMenuItem

是否可以为特定 UITextView 添加自定义 UIMenuItem

我使用下面的代码,但我有我的自定义按钮用于所有 UITextViews

UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Read" action:@selector(readButtonAction)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];

谢谢

我没有测试它,但是当 UITextView 中的一个成为第一响应者时,您可以重置 menuItems。我会通过子类化 UITextView 并实现 becomeFirstResponder.

来做到这一点

如果你想为特定的 UITextView 显示 UIMenuItem 你可以在 textFieldDidBeginEditing 方法中添加 menuItem 并向 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]];
       }];
     }
 }