iOS:如何从 UIMenuController 获取选定的 UIMenuItem
我正在尝试使用 UIMenuCnotroller 来显示动态生成的项目列表,它们共享相同的操作方法,因此我需要知道在单个操作方法中选择了哪个项目。
然而,在action方法- (void)menuItemAction:(id)sender;
发送者实际上是UIMenuController
对象,我没有找到的任何方法>UIMenuController
可以告诉我选择了哪个菜单项。
我能想到的一种解决方案是为不同的项目动态生成不同的操作选择器,并在 forwardInspiration
中做一些技巧,
但是有没有更简单的方法呢?
I am trying to use UIMenuCnotroller
to show a list of dynamically generated items, they share the same action method, and so I need to know which item is selected in the single action method.
However, in the action method - (void)menuItemAction:(id)sender;
the sender is actually the UIMenuController
object, and I didn't find any method of UIMenuController
can tell me which menuitem is selected.
One solution I can think of is to dynamically generate different action selectors for different items, and do some tricks in forwardInvocation
But is there any easier way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 UIMenuCnotroller ,例如:
1)创建:
2)要捕获动作应该实现下一个方法:
3)并实现你的方法:
希望,这会有所帮助。
You can use UIMenuCnotroller like:
1) creation:
2) To catch actions should implement next methods:
3) And realization of yours methods:
Hope, this helps.
好的,我已经解决了这个问题。它涉及到搞乱 [NSObjectforwardInspiration:] 并且有点脏,但生成的代码非常少。在这里回答:https://stackoverflow.com/a/9874092/790036
Okay, I've solved this one. It involves messing with [NSObject forwardInvocation:] and is a bit dirty, but the resulting code is quite minimal. Answered over here: https://stackoverflow.com/a/9874092/790036
一种最简单的方法是对每个菜单项使用不同的
@selector
方法示例:
One easiest way would be to use different
@selector
method for each menu itemExamples: