问题标签 [uimenucontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
498 浏览

iphone - 更改视图后 UIMenuController 未出现

我有一个 UIMenuController,它在点击 UIView 时出现。我已经实现了 canPerformAction 和 canBecomeFirstResponder 方法,它在第一次加载视图时工作。该应用程序由选项卡视图导航,如果用户要切换到另一个视图然后返回到第一个视图(尽管如果从第一个视图呈现模态视图也会出现同样的问题),UIMenuController 将不再显示. 关于为什么会这样的任何想法?

0 投票
1 回答
1188 浏览

objective-c - 摆脱 UIMenuController 中的标准项目

我正在开发一个非常小的 iOS 编辑器。它只有一个视图、一个按钮和一个 textView。当按钮被按下时,一个自定义 UIMenuController 会弹出 3 个选项:切换粗体、切换斜体和切换草书。

这很好用,但是,如果我在 UITextView 是第一响应者时按下按钮,它还会显示两个默认菜单项,名为“选择”和“全选”。

我想摆脱它们,但我不知道该怎么做。这是按下按钮时调用的代码:

谁能解释我如何做到这一点?

谢谢!

0 投票
1 回答
85 浏览

objective-c - 是否可以使用它作为协议的实现来替换所有对象的方法?

是否可以使用它作为协议的实现来替换所有对象的方法?

方法是canPerformAction:(SEL)action withSender:(id)sender

最初的问题:无法禁用 UIWebView 上的“剪切、复制、粘贴”和“全选”弹出菜单。一些奇怪的对象在其canPerformAction方法上生成它们。而且我找不到这个对象来替换它的类上的方法。

非常希望对您有所帮助。很长一段时间都解决不了这个问题。所有其他禁用选择的方法也会禁用我页面上的用户输入。而且我只能替换canPerformAction正确或所有类的方法才能使其正常工作。

0 投票
2 回答
997 浏览

iphone - [UIMenuController sharedMenuController].isMenuVisible 在 EGOTextView 中始终为 NO

我正在使用EGOTextView进行 NSAttributedString 编辑。有一个UIMenuController我无法克服的错误。正如以下代码中描述的逻辑,在点击 EGOTextView 后,UIMenu 将交替显示和隐藏。但事实是[UIMenuController sharedMenuController].isMenuVisible 总是会得到NO,代码[menuController setMenuVisible:NO animated:NO];永远不会被调用。我错过了什么棘手的事情吗?感谢您的任何建议!

EGOTextView.m

}

0 投票
1 回答
608 浏览

objective-c - UIMenuController 未在子类 UITextView 中显示自定义 UIMenuItem

我有一个子类UITextViewUIMenuItem当用户按下并按住UITextView. 对于我的生活,我无法让我的自定义项目显示。这是我正在做的事情viewDidLoad

按住我的子类,UITextView我仍然只能看到“选择”和“全选”。

我还需要做什么才能显示我的自定义项目?

0 投票
0 回答
778 浏览

objective-c - UIMenuController willHideMenu 如果移动则不发送通知,然后通过背景点击解除

我有一个相当简单的 UILabel 子类,允许点击显示 UIMenuController 以便可以复制文本。在大多数情况下,这一切都很好。

EPHighlightLabel在视图中,在一个本身就是子视图的 UIView 中有这三个。一切正常,您可以点击标签,文本将突出显示,然后再次点击或点击离开,菜单将被关闭并且标签不突出显示。这是通过- (void)willHideMenu调用实现的。但是在以下情况下,不会发送 UIMenuControllerWillHideMenu 通知:

  1. 点击任何标签。
  2. 标签突出显示,菜单显示。
  3. 点击任何其他标签。
  4. 以前的标签未突出显示,新标签突出显示并且菜单显示/移动。
  5. 点击标签以外的任何地方。菜单已删除,但未发送任何通知。UIMenuControllerWillHideMenu 或 UIMenuControllerDidHideMenu 都不是。

有什么建议吗?

0 投票
3 回答
3804 浏览

iphone - UIMenuController 隐藏键盘

我目前有一个用于聊天的应用程序。我使用 UItextField 作为输入框,使用气泡显示消息,例如系统 SMS。我想在消息气泡(标签)上启用复制粘贴。问题是,当我想显示 UIMenuController 时,我需要从中复制的标签需要成为第一响应者。如果当前显示键盘,当标签成为第一响应者时,文本字段将失去焦点,因此键盘将自动隐藏。这会导致 UI 滚动并且感觉不好。无论如何,即使我需要显示菜单,我也可以保持键盘显示?

在此处输入图像描述

在此处输入图像描述

0 投票
3 回答
1134 浏览

objective-c - 自定义 UIMenuItem 仅第一次显示

- (void)viewDidLoad我在视图控制器的方法中添加了一个自定义菜单:

在同一个控制器中,我还实现了该方法:

我第一次选择一些文本时,菜单包含“读取所选”菜单项,并且一切正常。然而,在随后的文本选择中,菜单仅包含标准系统菜单项,如复制。paste等- (BOOL)canPerformAction:(SEL)action withSender:(id)sender_readSelectedText

知道为什么会这样吗?

0 投票
1 回答
2949 浏览

ios - UITableViewCell 不会成为第一响应者(在单元格手势上显示 UIMenuController)

我有一个带有UITabBar. 每个选项卡都是一个,里面UINavigationController有几个UIViewControllers。其中一个视图控制器包含一个UITableView,我想显示一个用于删除长按的浮动菜单UITableViewCell

我正在使用UIMenuController但它没有显示,因为单元格拒绝成为第一响应者。

这是我的代码:

在 UITableViewCell 我已经覆盖了方法:

关于为什么细胞没有成为第一响应者的任何想法?

谢谢!

0 投票
1 回答
387 浏览

ios - 在 UITextView 中定义后取消选择单词

我有一个UIViewControllerUITextView它的观点。当用户选择文本时,有定义系统菜单项用于UIReferenceLibraryViewController定义单词。问题是在字典被解散后单词仍然被选中。我希望它被取消选择(就像在 iBooks 中所做的那样)。

我试图取消选择这个词使用UIMenuControllerDidHideMenuNotification

这会取消选择该单词,但也会冻结我UIViewController的以下消息:

有任何想法吗?