我正在尝试让UIMenuController显示菜单。
这是我到目前为止的代码:
commentCell.userInteractionEnabled = YES;
[commentCell becomeFirstResponder];
UIMenuController *menu = [UIMenuController sharedMenuController];
if (menu.menuVisible) {
return;
}
menu.menuItems = @[[[UIMenuItem alloc] initWithTitle:@"copy" action:@selector(log)], [[UIMenuItem alloc] initWithTitle:@"report" action:@selector(log)]];
const CGRect targetFrame = commentCell.frame;
const CGRect convertedFrame = [commentCell convertRect:targetFrame toView:self.viewController.view];
[menu setTargetRect:convertedFrame inView:self.viewController.view];
[menu update];
[menu setMenuVisible:YES animated:YES];
不幸的是,我的菜单似乎没有显示。我尝试遵循UIMenuController not showing up中概述的准则,但是我已经尝试了所有建议,包括使视图实现canBecomeFirstResponder
并将userInteractionEnabled
设置为YES
。任何想法可能是什么问题,或者如何进一步调试?
答案 0 :(得分:0)
找出问题所在。
事实证明,我还需要在-(BOOL)canPerformAction
self.viewController
答案 1 :(得分:0)
我想添加一个问题,指出targetFrame应该是:
const CGRect targetFrame = commentCell.bounds;