2011-07-06 59 views
0

在模擬器上我看到UIMenucontroller沒有問題,但它不會出現在運行ios 4 +的設備上測試。這是使用IB添加的標準uitextview。沒有uimenucontroller與uitextview顯示,通用應用程序xcode 4

我已經將這些方法添加到viewcontroller這是委託,但我不認爲他們是必要的,因爲我想標準菜單控制器,選擇,複製等,更不要說他們沒有被調用。

感謝您的幫助

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender { 

    NSLog(@"Can perform action called"); 

    BOOL answer = NO; 

    if (action == @selector(copy:)) 
    { 
     answer = YES; 
    } 
    if (action == @selector(cut:)) 
    { 
     answer = YES;  
    } 
    if (action == @selector(paste:)) 
    { 
     answer = YES; 
    } 
    if (action == @selector(select:)) 
    { 
     answer = YES; 
    } 
    if (action == @selector(selectAll:)) 
    { 
     answer = YES; 
    } 

    return answer; 
} 

- (BOOL) canBecomeFirstResponder { 
    NSLog(@"can become first called"); 
    return YES; 
} 

回答

1

您需要添加一個手勢識別,或覆蓋touchesEnded:withEvent:方法方法,並且顯示菜單控制器:

//Assumes you assigned a CGRect for where the menu should appear to theRect 
UIMenuController *mc = [UIMenuController sharedMenuController]; 
[mc setTargetRect:theRect inView:self]; 
[mc setMenuVisible:YES animated:YES]; 

should override the methods -copy , - cut,-paste等

+0

這必須要做甚至以獲得標準的選擇,複製,粘貼?我認爲這是非標準菜單。順便說一下,我可以在模擬器中看到它們,而不是在設備上。 – zambono

+0

我可能會誤會 - 我離開我的Mac,但現在我意識到由於我的應用程序使用核心文本,我可能需要該代碼,而您的代碼可能不會。由於文檔強烈建議覆蓋標準的剪切/複製/粘貼方法,因此您可以嘗試查看是否可以解決問題。 – RyanR

+0

請讓我知道你什麼時候有機會,我的印象是標準的複製/粘貼總是以uitextview顯示,但這不是我所看到的行爲。 – zambono

相關問題