问题标签 [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 投票
2 回答
4675 浏览

iphone - 带有 @selector 和动态方法的动态 UIMenuItems

我正在尝试将 UIMenuController 用于动态菜单(标题和操作来自服务器)。问题是我必须使用 UIMenuItems initWithTitle:action: 其中 action 是 @selector。

我可以使用 @selector(dispatch:) 但我无法区分用户按下了哪些项目。- (void)dispatch:(id)sender { NSLog(@"%@", sender); } 说它是一个 UIMenuController 并且它没有一个方法可以告诉哪个菜单项被按下了。

我不能只写 100 个方法来调度每个可能的选择器,好吧不会超过 10 个,但是,这似乎不是一个好主意。

我是否必须为每个这样的选择器创建动态方法?http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtDynamicResolution.html?这似乎也很奇怪。

还有比这两个更好的提议吗?

// 这种方法行不通。

// 这种方法真的很丑。

0 投票
4 回答
4272 浏览

iphone - 一个接一个显示 UIMenuController 的问题

我正在使用 UIMenuController 的新自定义功能将“复制”以外的内容添加到菜单中,以便剪切和粘贴到 web 视图中。

我所做的是获取对共享 UIMenuController 的引用,将 UIMenuItems 的 NSArray 设置到 menuItems 中,只要我添加一个项目,一切都会正常工作。例如,我看到 [COPY|FOOBAR]。

相反,如果我尝试添加多个项目,会发生什么情况是我看到 [COPY|MORE],如果我按下 MORE 而不是最终显示其他项目。

可以直接显示 [COPY|FOO|BAR|THREE|FOUR] 吗?我看到了一些能够做到这一点的应用程序,尤其是 iBooks。

任何帮助都非常感谢,谢谢。

干杯,西森西奥

0 投票
2 回答
3494 浏览

iphone - 如何在 UIMenuController 中删除 COPY UIMenuItem

我正在开发一个 iPhone 应用程序并使用 UIWebViews。我计划自定义在 UiWebView 中突出显示字符串时弹出的 UIMenuItems(复制、全选、剪切等)。我尝试删除这些 menuItems,但我无法删除 COPY 菜单项。

我需要你们的帮助。

谢谢,ZaldzBugz

0 投票
1 回答
12092 浏览

iphone - UIMenuController 自定义项

我创建了一个 UIMenuController 并将其设置为自定义菜单项,如下所示:

但我希望该对象是唯一出现的对象,所以我添加了以下代码:

问题是它仍然显示其他## Heading ## 项目,例如“Select”、“Select All”和“Paste”。这可能与显示在UITextView. 但是,如果不显示所有其他项目,我该如何停止?

0 投票
1 回答
867 浏览

iphone - 在自定义视图上显示弹出菜单时不要关闭键盘

我创建了自己的 UIView 子类来向用户呈现文本信息。用户可以双击此视图以弹出“复制”菜单。问题是同一视图控制器中的 UITextView 放弃了它的第一响应者状态,从而在弹出菜单出现时关闭键盘。我该如何避免这种情况?我希望我的应用程序的行为类似于标准 iPhone 的消息应用程序:在消息气泡上双击时不会关闭键盘会显示一个弹出菜单。

0 投票
4 回答
6736 浏览

iphone - 确定何时解除 UIMenuController?

有没有办法确定 UIMenuController 何时被解除?我有一个(不可编辑的)文本区域,我在弹出菜单时突出显示,当他们选择一个项目(简单)或取消(不可能?)时,我想取消突出显示它

0 投票
1 回答
163 浏览

iphone - 自定义 UIMuenuitem 标题

我正在使用表格来显示成员列表,当我单击表格中的单元格时,我正在创建一些自定义菜单项并通过自定义 cellview 类来显示菜单。现在我们总共有 6 个菜单项,其中一些很长,有什么办法可以包装菜单标题,以便我们有足够的空间来显示所有菜单项?在创建菜单项时,我尝试在标题中给出“\n”但没有用。

此外,我想对菜单项进行分组,因此我想以不同的颜色显示其中的 3 个。我们可以将文本颜色设置为菜单项,以便其中 3 个为一种颜色,其他 3 个为不同颜色。

请让我知道是否有上述两个任务的任何解决方案。

谢谢。

0 投票
2 回答
4701 浏览

iphone - 在显示之前将动态自定义 UIMenuItem 添加到复制和粘贴菜单

我已经成功地将自定义UIMenuItem添加到我的 iPhone 应用程序的复制和粘贴菜单中,甚至将UITextView子类化以摆脱标准菜单项。但是,我需要做的是以某种方式捕捉菜单将在实际发生之前显示的事实,并将插入点处的单词添加到菜单中。

例如,如果UITextView中的文本是“这是一个测试”。,并且该人触摸了单词“is”,它将将该单词作为UIMenuItem添加到UIMenuController

重要的是,菜单仅在被触摸后才直接显示单词。菜单的下一次调用将显示下一个触摸的单词,等等。触摸菜单中的单词将显示更多细节。我已经有代码可以根据selectedRange找到 touch 这个词。我需要做的就是在菜单显示之前将该单词添加为UIMenuItem 。另一个不太优雅的解决方案可能是允许用户触摸静态菜单项,然后根据所触摸的单词添加并重新显示菜单,并使用不同的选项。

我希望有一种方法可以拦截UIMenuController,可能通过子类化它,这样我就可以在气球显示之前到达插入点,但仍然能够通过更改菜单项列表来对其进行更改。

有没有办法做到这一点?谁能给我看一个代码片段或指向一些可能对我有帮助的文档?谢谢。

我唯一的其他解决方案是以某种方式创建我自己的气球并以某种方式禁用复制和粘贴菜单。我宁愿不必尝试。

0 投票
1 回答
1345 浏览

iphone - UIMenuControllerWillShowMenuNotification 的 NSNotifcation

我正在尝试在 iphone sdk 3.0中收听 UIMenuController 通知。

但似乎我的通知永远不会被调用。这是我的代码:

和我的方法

但它永远不会打印出“Call here”,断点也永远不会停止。有谁知道如何解决这个问题。

我知道 iphone sdk 4.0的 setMenuItems 方法,但我正在为 sdk 3.0 工作。

我最初的问题是我试图捕捉 UIMenuController 事件以显示按钮工具栏,例如:文本的“Do A”、“Do B”。如果有人知道任何解决方案,我也很感激

0 投票
2 回答
1324 浏览

iphone - 在哪里向 UIMenuController 添加自定义菜单项?

我创建了 UITextView 的子类,现在我想UIMenuController通过添加一些按钮来扩展默认值。执行扩展完全没有问题,我只需要添加一些UIMenuItem这样menuItemsUIMenuController.

我现在的问题是:我在哪里执行此操作?MenuController 是一个单例实现,所以我所做的每一次更改都会影响支持菜单的所有其他视图。那么我要在哪里添加额外的菜单项,以后又要在哪里删除它们呢?我正在寻找某种与 UIViewController 的方法等效的viewWillAppear方法。

还是我太担心了,在包含我的子类的视图的视图控制器中实现它是一个非常好的做法UITextView?但是,这意味着每个包含我的类作为子视图的视图控制器都必须实现相同的代码。有没有更好的办法?

编辑:另一个选择当然是让我的班级的选择器保持唯一,并让所有其他自定义视图NO返回-respondsToSelector:. 到目前为止,这对我来说似乎是最好的解决方案。

最佳做法是什么?