2

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

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

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

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

谢谢

4

2 回答 2

1

如果您想UIMenuItem 显示特定的UITextView内容,您可以在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]];
       }];
     }
 }
于 2016-01-27T09:32:05.237 回答
1

我没有测试它,但你可以重置menuItems成为UITextView第一响应者的时间。我会通过子类UITextView化和实现becomeFirstResponder.

于 2016-01-27T09:31:45.233 回答