我增加了一個自定義菜單在我的視圖控制器的- (void)viewDidLoad
方法:定製UIMenuItem僅表現爲第一次
UIMenuItem *menuItem = [[UIMenuItem alloc] initWithTitle:@"Read selected" action:@selector(readSelectedText)];
[UIMenuController sharedMenuController].menuItems = [NSArray arrayWithObject:menuItem];
在同一個控制器我也實現方法:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
if (action == @selector(readSelectedText)) {
if (textView.selectedRange.length > 0) {
return YES;
}
return NO;
}
return [super canPerformAction:action withSender:sender];
}
第一我選擇一些文本菜單中包含「讀取選定」菜單項,它都運行良好。但是在隨後的文本選擇中,菜單隻包含標準系統菜單項,如複製。粘貼等。我已經檢查了- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
方法,並且它永遠不會被readSelectedText
動作調用(因爲它是第一次)。
任何想法爲什麼發生這種情況?
謝謝你,幫我解決是起訴。但是我已經簡化了你的建議併發布瞭解決方案作爲替代答案。我不知道你的情況,但對我來說這已經足夠了。 – pajevic
我正在UIWebView上添加自定義菜單項。如果我不自己設置菜單可見(只是setMenuItems)。自定義項目仍不可見。 – qiufangzhou