本节书摘来自异步社区《ios 6核心开发手册(第4版)》一书中的第1章,第1.15节秘诀:给视图添加菜单,作者 【美】erica sadun,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.15 秘诀:给视图添加菜单
ios 6核心开发手册(第4版)
uimenucontroller类允许给充当第一个响应者的任何项目添加弹出式菜单。正常情况下,将把菜单与文本视图和文本框结合起来使用,使用户能够执行选择、复制和粘贴。菜单还提供了一种方式,用于给交互式元素(比如这一整章中使用的小拖动视图)添加动作。图1-6显示了一个自定义的菜单。在秘诀1-14中,这个菜单是在长按一朵花之后展示的。动作将缩放、旋转或隐藏关联的拖动视图。
图1-6 上下文弹出式菜单允许给第一个响应者视图添加交互式动作
这个秘诀演示了如何获取共享的菜单控制器,并给它分配项目。设置菜单的目标矩形(通常是展示它的视图的界限),调整菜单的箭头方向,并且利用所做的修改更新菜单。现在可以把菜单设置为可见的。
菜单项使用标准的目标—动作回调,但是不要直接指定目标。它们的目标总是第一个响应者视图。这个秘诀省略了canperformaction:withsender:响应者检查,但是如果一些视图支持某些动作,而另外一些视图不支持它们,那么你将希望添加这种检查。对于菜单,通常把这种支持绑定到状态。例如,如果视图没有内容要复制,将不希望提供一个复制命令。