Iphone UIMenuController在iOS 4上不显示,但在iOS 5上工作

Iphone UIMenuController在iOS 4上不显示,但在iOS 5上工作,iphone,ios,ios4,ios5,uimenucontroller,Iphone,Ios,Ios4,Ios5,Uimenucontroller,在自定义视图中,我已将“canBecomeFirstResponder”设置为返回YES 并且还定义了'-(BOOL)canperformation:(SEL)action with sender:(id)sender' 我使用以下代码显示弹出菜单: [self becomeFirstResponder]; UIMenuController *theMenu = [UIMenuController sharedMenuController]; if (theMenu.menuItems==n

在自定义视图中,我已将“canBecomeFirstResponder”设置为返回YES 并且还定义了'-(BOOL)canperformation:(SEL)action with sender:(id)sender'

我使用以下代码显示弹出菜单:

[self becomeFirstResponder];
UIMenuController *theMenu = [UIMenuController sharedMenuController];


if (theMenu.menuItems==nil)
{
    UIMenuItem* item = [[UIMenuItem alloc] initWithTitle:@"Open" action:@selector(openAction:)];
    NSArray* array = [NSArray arrayWithObject:item];
    theMenu.menuItems = array;
    [item release];
}

CGRect rect;
rect = CGRectMake(self.frame.size.width*0.5, self.frame.size.height*0.5, 0, 0);
[theMenu setTargetRect:rect inView:self];
theMenu.arrowDirection = UIMenuControllerArrowDown;
[theMenu setMenuVisible:YES animated:YES];
问题是,这在iOS 5上运行良好 但在iOS 4.3上没有显示任何内容

但是,在这两种情况下,都会出现“UIMenuController将显示MenuNotification” 并收到“UIMenuControllerDidShowMenuTification”通知 正如所料

有谁能帮我或给我指一下正确的方向吗。 提前谢谢

 if(![self becomeFirstResponder]; )
 {
    NSLog(@"Couldn't become first responder ");
    return;
 }
首先检查成为第一响应者