我的屏幕上有很多UITextView
,我想为其中一个添加新的自定义UIMenuItem
。
可以为特定UIMenuItem
添加自定义UITextView
吗?
我使用下面的代码,但我有自定义按钮用于所有UITextView
s
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Read" action:@selector(readButtonAction)];
[[UIMenuController sharedMenuController] setMenuItems:[NSArray arrayWithObject:menuItem]];
由于
答案 0 :(得分:1)
我没有测试它,但是当menuItems
中的一个成为第一响应者时,您可以重置UITextView
。我会通过继承UITextView
并实施becomeFirstResponder
。
答案 1 :(得分: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]];
}];
}
}