我的屏幕上有很多UITextView,我想为其中一个添加一个新的自定义UIMenuItem。
是否可以仅为特定的UIMenuItem添加自定义UITextView?
我使用下面的代码,但是我为所有的UITextView设置了自定义按钮
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Read" action:@selector(readButtonAction)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];谢谢
发布于 2016-01-27 09:32:05
如果希望为特定的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-27 09:31:45
我没有测试它,但是当其中一个menuItems成为第一个响应器时,您可以重新设置UITextView。我会通过子类UITextView和实现becomeFirstResponder来做到这一点。
https://stackoverflow.com/questions/35032802
复制相似问题