Ios 在UITextView中删除UIMenuController
我有UIWebView用于显示文章HTML页面。我使用uilongship作为显示UIMenuController。在UIMenuItem中,注释上有一个字段。如果单击“注释”,则显示UITextView。但如果我在UITextView中长按,UIMenuItem将显示。如何隐藏Ios 在UITextView中删除UIMenuController,ios,uiwebview,uitextview,uigesturerecognizer,uimenucontroller,Ios,Uiwebview,Uitextview,Uigesturerecognizer,Uimenucontroller,我有UIWebView用于显示文章HTML页面。我使用uilongship作为显示UIMenuController。在UIMenuItem中,注释上有一个字段。如果单击“注释”,则显示UITextView。但如果我在UITextView中长按,UIMenuItem将显示。如何隐藏 - (void)viewDidLoad { NSMutableArray *items = [[[UIMenuController sharedMenuController] menuItems] mutableCo
- (void)viewDidLoad
{
NSMutableArray *items = [[[UIMenuController sharedMenuController] menuItems] mutableCopy];
if (!items) items = [[NSMutableArray alloc] init];
UIMenuItem *menuItem;
menuItem = [[UIMenuItem alloc] initWithTitle:@"BookMark" action:@selector(book:)];
[items addObject:menuItem];
[menuItem release];
menuItem = [[UIMenuItem alloc] initWithTitle:@"Notes" action:@selector(note:)];
[items addObject:menuItem];
[menuItem release];
[[UIMenuController sharedMenuController] setMenuItems:items];
[items release];
UILongPressGestureRecognizer *tap = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(tapTest:)];
[tap setDelegate:self];
[wbCont.scrollView addGestureRecognizer:tap];
wbCont.userInteractionEnabled=YES;
[self.view addSubview:wbCont];
}
如果使用,请单击注意:
- (void)note:(id)sender {
NSLog(@"Note");
// wbCont.userInteractionEnabled=NO;
if ([UIMenuController sharedMenuController]) {
[UIMenuController sharedMenuController].menuVisible = NO;
}
txtview = [[UITextView alloc]initWithFrame:CGRectMake(0,0,320,568)];
txtview.font = [UIFont fontWithName:@"Helvetica" size:12];
txtview.font = [UIFont boldSystemFontOfSize:12];
txtview.backgroundColor = [UIColor whiteColor];
txtview.scrollEnabled = YES;
txtview.pagingEnabled = YES;
txtview.editable = YES;
txtview.tag = mainTag*10000;
[self.view addSubview:txtview];
}
UIGestureRecognitor具有名为enabled的属性。这应足以禁用长按:
tap.enabled = NO;
我知道答案了。这个代码是我的工作
- (BOOL) canPerformAction:(SEL)action withSender:(id)sender
{
if (wbCont.superview != nil && ![txtview isFirstResponder]) {
if (action == @selector(copy:))
{
return NO;
}
if (action == @selector(book:))
{
return YES;
}
else if (action == @selector(note:))
{
return YES;
}
}else if(txtview.subviews != nil){
if (action == @selector(copy:))
{
return NO;
}
if (action == @selector(book:))
{
return NO;
}
else if (action == @selector(note:))
{
return NO;
}
}
return [super canPerformAction:action withSender:sender];
}
我需要设置这个内注方法吗?