2013-01-08 57 views
0

我有兩個UIViewController,一個是主要的,從這個槽到第二個按鈕。在SecondView.m我有以下代碼:UIMenuController不顯示在第二個UIViewController中

- (IBAction)showpopup:(id)sender { 
    [self becomeFirstResponder]; 
    UIMenuController *sharedController = [UIMenuController sharedMenuController]; 
    UIMenuItem *x2 = [[UIMenuItem alloc] initWithTitle:@"2x2" action: @selector(mat)]; 
    UIMenuItem *x3 = [[UIMenuItem alloc] initWithTitle:@"3x3" action: @selector(mat)]; 
    UIMenuItem *x4 = [[UIMenuItem alloc] initWithTitle:@"4x4" action: @selector(mat)]; 
    UIMenuItem *x5 = [[UIMenuItem alloc] initWithTitle:@"5x5" action: @selector(mat)]; 

    NSArray *menuArray = [NSArray arrayWithObjects: x2,x3,x4,x5, nil]; 


    CGRect drawRect = [sender convertRect:[sender bounds] toView: self.view]; 
    [sharedController setTargetRect:drawRect inView: self.view]; 

    [sharedController setMenuItems:menuArray]; 
    [sharedController setMenuVisible:YES animated:YES]; 
    [sharedController setMenuItems: nil]; 
} 

-(BOOL)canBecomeFirstResponder{ 
    return YES; 
} 

-(int)mat:(id)sender{ 
    return 0; 
} 

的按鈕鏈接爲「潤色內」,但是當我運行UIMenuController不出來。 完全相同的代碼在主UIViewController中工作。

感謝

回答

0

如果我不缺什麼,我想你應該,例如,作爲一個子視圖添加sharedController.view您mainController.view,例如(假設`showpopup在你的主控制器定義):

- (IBAction)showpopup:(id)sender { 
    [self becomeFirstResponder]; 
    UIMenuController *sharedController = [UIMenuController sharedMenuController]; 
    ... 
    [sharedController setMenuItems:menuArray]; 
    [sharedController setMenuVisible:YES animated:YES]; 
    [sharedController setMenuItems: nil]; 
    [self.view addSubview:sharedController.view]; 
} 

,或者你可以提出模態的sharedController(更換上述addSubview線):

[self presentViewController:sharedController animated:YES completion:nil]; 

在任何情況下,在我看來, 「呈現」位缺失。

+0

我應該在哪裏添加此代碼? – iAndrew

+0

請參閱我的編輯... – sergio

+0

這是我在編輯之前所做的,我以爲我錯了,因爲我得到這個錯誤http://d.pr/i/34wz – iAndrew

相關問題