为特定的 UITextView 添加 UIMenuItem?
Add a UIMenuItem for a specific UITextView?
我的屏幕上有很多 UITextView
,我想为其中一个添加新的自定义 UIMenuItem
。
是否可以为特定 UITextView
添加自定义 UIMenuItem
?
我使用下面的代码,但我有我的自定义按钮用于所有 UITextView
s
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]];
}];
}
}
我的屏幕上有很多 UITextView
,我想为其中一个添加新的自定义 UIMenuItem
。
是否可以为特定 UITextView
添加自定义 UIMenuItem
?
我使用下面的代码,但我有我的自定义按钮用于所有 UITextView
s
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]];
}];
}
}