Mac简单例子实现主菜单在多个窗口之间的共用问题
2013-02-25 16:04
369 查看
【原文地址:Mac简单例子实现主菜单在多个窗口之间的共用问题】
【作者:chenghxc】
【Demo:源码下载地址】
为了更简单的实现主菜单在多个窗口之间的共用问题,特意写了一个超级简单的例子。对于Mac的初学者理解起来会比较容易,大牛的路过勿笑哈。
这个例子中主要有两个窗口,在这两个窗口中都实现了 -(IBAction)getKaoYa:(id)sender 方法。在主菜单中有一个‘点烤鸭’菜单项(为什么叫点烤鸭呢?因为此时我肚子有点饿。),‘点烤鸭’的 selector 不是直接链接到第一个窗口的 getKaoYa: 方法上,而是链接了 First Responder 里的 getKaoYa: 。
为什么 First Responder 中会有 getKaoYa: 方法呢?【对于 First Responder 的作用大家可以网上搜索以下,传送门】
简单的解释就是只要你的方法的返回类型是IBAction ,例如 -(IBAction)getKaoYa:(id)sender 就会出现在 First Responder 中,而在运行时当触发 First Responder 中的某个方法时,First Responder 会调用当前活跃窗口(也可以叫置顶窗口)的相应方法。
好了,大家可以下载我的demo看一下。打开两个窗口后尝试切换窗口,点击主菜单中的‘点烤鸭’,在后台会输出不一样的信息。
如果你想禁用某个窗口的‘点烤鸭’功能,可以在相应窗口的-(BOOL)validateMenuItem:(NSMenuItem *)menuItem中控制。(demo中会有相应说明)
【作者:chenghxc】
【Demo:源码下载地址】
为了更简单的实现主菜单在多个窗口之间的共用问题,特意写了一个超级简单的例子。对于Mac的初学者理解起来会比较容易,大牛的路过勿笑哈。
这个例子中主要有两个窗口,在这两个窗口中都实现了 -(IBAction)getKaoYa:(id)sender 方法。在主菜单中有一个‘点烤鸭’菜单项(为什么叫点烤鸭呢?因为此时我肚子有点饿。),‘点烤鸭’的 selector 不是直接链接到第一个窗口的 getKaoYa: 方法上,而是链接了 First Responder 里的 getKaoYa: 。
为什么 First Responder 中会有 getKaoYa: 方法呢?【对于 First Responder 的作用大家可以网上搜索以下,传送门】
简单的解释就是只要你的方法的返回类型是IBAction ,例如 -(IBAction)getKaoYa:(id)sender 就会出现在 First Responder 中,而在运行时当触发 First Responder 中的某个方法时,First Responder 会调用当前活跃窗口(也可以叫置顶窗口)的相应方法。
好了,大家可以下载我的demo看一下。打开两个窗口后尝试切换窗口,点击主菜单中的‘点烤鸭’,在后台会输出不一样的信息。
如果你想禁用某个窗口的‘点烤鸭’功能,可以在相应窗口的-(BOOL)validateMenuItem:(NSMenuItem *)menuItem中控制。(demo中会有相应说明)
相关文章推荐
- 实现简单的MVC模式,通过一个小例子,不是很完美,但是可以说明一部分的问题
- java 接口实现简单并能说明问题的例子
- 今天的问题:一个简单的例子,请帮我解开“接口实现Java‘隐藏实现细目’”的迷惑。
- 主菜单中"窗口"子菜单的简单实现办法
- 一个App架构例子分析--UI层使用MVP模式;各层之间使用Otto实现通信
- JAVA实现动态类的调用简单例子
- 在windows 下用C实现的一个多播的简单例子。
- 简单实现一个JSONP协议的小例子
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-简单例子-实现简单的服务端客户端消息应答 推荐
- Linux搭建FTP服务器、配置和实现简单通过客户端连接的例子
- 关于java窗口界面实现的简单流程(简易计算器)
- Android中实现GPS定位的简单例子
- 关于RecyclerView实现瀑布流,上下滑动时item之间互换位置的问题
- JS简单实现括号匹配问题
- iOS简单直播实现(一:创建本地rtmp服务器)Mac上搭建直播服务器Nginx+rtmp
- EasyUI Tabs + Yii2.0实现iframe方式打开页面(解决共用静态文件引入加载的问题)
- python实现简单问题(汉诺塔、杨辉三角等)
- iOS使用http post多图片上传带描述+java后台服务器,简单实现例子.
- [置顶] 从零开始学C++之STL(二):实现简单容器模板类Vec(vector capacity 增长问题、allocator 内存分配器)
- cocs2d-x 学习例子 box2d 实现类似愤怒的小鸟的简单参考例子