2010-11-03 123 views
3

我创建了UITextView的一个子类,现在我想通过添加一些按钮来扩展默认的UIMenuController。执行扩展完全没有问题,我只需要添加一些UIMenuItem,这样menuItems阵列的UIMenuController的共享实例。在哪里添加自定义菜单项到UIMenuController?

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

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

编辑:另一个选项当然是保持我的类的选择器唯一,并让所有其他自定义视图返回NO-respondsToSelector:中的选择器。这似乎是迄今为止最好的解决方案。

最佳做法是什么?

回答

2

事实证明,它可以很好地在应用程序委托中添加项目。您需要确保当然,支持MenuController的其他视图返回NO为您的特定选择器-respondsToSelector:

0

好问题。不确定最佳做法。

您可能想使用viewDidAppear和viewWillDisappear来修改它。

相关问题