我创建了UITextView的子类,现在我想通过添加一些按钮来扩展默认的UIMenuController
。执行扩展是没有问题的,我只需要添加一些UIMenuItem
,以便menuItems
的共享实例的UIMenuController
数组。
我现在的问题是:我在哪里进行这种操作? MenuController是一个单例实现,因此我所做的每一个更改都会影响支持该菜单的所有其他视图。那么我将在哪里添加额外的菜单项,以后我在哪里再删除它们?我正在寻找某种类似于UIViewController的viewWillAppear
方法。
或者我担心的太多了,在包含我的UITextView
子类的视图的视图控制器中实现它是非常好的做法?
但是,这意味着包含我的类作为子视图的每个视图控制器都必须实现相同的代码。还有更好的方法吗?
编辑:另一个选项当然是让我的类的选择器保持唯一,并让所有其他自定义视图在NO
中为选择器返回-respondsToSelector:
。到目前为止,这似乎是最好的解决方案。
最佳做法是什么?
答案 0 :(得分:2)
事实证明,在app委托中添加项目可以正常工作。您需要确保支持MenuController的其他视图在NO
中为您的特定选择器返回-respondsToSelector:
。
答案 1 :(得分:0)
好问题。不确定最佳做法。
您可能希望使用viewDidAppear和viewWillDisappear来修改它。