使用 uimenucontroller 时遇到问题

Posted

技术标签:

【中文标题】使用 uimenucontroller 时遇到问题【英文标题】:facing trouble while using uimenucontroller 【发布时间】:2011-10-17 13:54:27 【问题描述】:

当我移动 uiviewcontroller 中存在的任何选定的 uiview/uiimageView 时,我需要在我的应用程序中使用 uimenucontroller,我需要复制/粘贴/等选项。

这是我正在使用的代码:


UIMenuController *menuController = [UIMenuController sharedMenuController];

UIMenuItem *resetMenuItem = [[UIMenuItem alloc] initWithTitle:@"Paste" action:@selector(menuItemClicked:)];

[self becomeFirstResponder];

[menuController setMenuItems:[NSArray arrayWithObject:resetMenuItem]];
[menuController setTargetRect:imageView.frame inView:self.view];
[menuController setMenuVisible:YES animated:YES];

我在 uiviewcontroller 的 touches end 中调用此函数,它是从 rootviewcontroller 推送的,uimenucontroller 仅在第一次使用 viewcontroller 时显示,当我返回 rootviewcontroller 并推送 uiviewcontroller 时,uimenucontroller 不显示菜单项触摸结束。我可以找到那个

 [self becomeFirstResponder];

返回 NO 值.. 谁能帮我解决这个问题。

【问题讨论】:

【参考方案1】:

您的视图或视图控制器需要实现 -(BOOL)canBecomeFirstResponder(返回 YES)

【讨论】:

感谢回复,但我已经在使用 -(BOOL)canBecomeFirstResponder return YES;

以上是关于使用 uimenucontroller 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

键入时保持 UIMenuController 可见

UIMenuController在被呈现后立即被解雇

显示 UIMenuController 时获取选定的文本

确定何时解除 UIMenuController?

捕捉复制/粘贴事件 UIMenuController

使用 UIMenuControllerWillShowMenuNotification 隐藏 UIMenuController