UIMenuController не отображается - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь заставить 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 не отображается , но я уже попробовал все предложения, включая настройку моего представления для canBecomeFirstResponder и установку userInteractionEnabled на YES.Любые идеи, в чем может быть проблема или как я могу отладить дальше?

Ответы [ 2 ]

0 голосов
/ 08 ноября 2018

Я хочу добавить вопрос о том, что targetFrame должен быть:

const CGRect targetFrame = commentCell.bounds;

0 голосов
/ 08 ноября 2018

Разобрался с проблемой. Оказывается, мне нужно было также включить поле: -(BOOL)canPerformAction в self.viewController

...