3

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

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

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

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

最佳做法是什么?

4

2 回答 2

2

事实证明,在应用程序委托中添加项目效果很好。当然,您需要确保支持 MenuController 的其他视图NO-respondsToSelector:.

于 2010-11-05T16:44:23.410 回答
0

好问题。不确定最佳实践。

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

于 2010-11-03T20:37:18.563 回答