mac app开发之:利用NSWindowController实现窗口跳转
来源:互联网 发布:知商金融怎么样 编辑:程序博客网 时间:2024/05/18 17:04
今天这篇博客主要讲述的是窗口之间的跳转,当然了相对于ios 页面之间跳转,还是觉得ios更可爱许多!一般在ios开发中我们都习惯于继承于系统的UIViewController自定义一个BaseViewController(名字是大家随便取的,根据个人爱好,请不要在意!),更方便于自己把公有的属性写在里面,同样在mac开发中也是如此,只不过我们继承的是系统的NSWindow来实现自定义窗口!话不多说,请看代码。
新疆项目工程,如下
请不要勾选 Use Storyboards 选项,因为我们上一篇博客已经介绍过,在mac app开发过程中 Storyboard 并没有XIB 使用起来方便,所以今天我们以XIB为主来实现窗口之间的跳转!新建工程以后,我们首先创建一个继承于NSWindow的一个BaseWindow类,我们可以在里面填写一些自定义事件或方法,来实现我们的自定义窗口,然后我们在创建一个继承于NSWindowController的MainWindowController类,记得勾选上Also create XIB file for user interface 选项,如下图:
创建好以后在MainWindowController.xib中选中Window将它的继承类改成我们前面自定义的BaseWindow,然后拖拽一个NSButton到xib上面,修改其Title为“显示”并设置其约束,关联方法为: showNewsWindownder;
完成上面工作以后,在AppDelegate.h文件中引用MainWindowController.h文件创建其对象,如下:
然后在AppDelegate.m文件类中删除 @property (weak)IBOutletNSWindow *window;代码,并在MainMenu.xib中选中Window,删除该Window,然后在AppDelegate.m中的
- (void)applicationDidFinishLaunching:(NSNotification *)aNotifica函数中写如下代码:
然后我们在创建一个继承于NSWindowController的NewsWindowController类,步骤同上创建MainWindowController一样,不同的是将里面的NSButton的title改成“返回”,并关联其方法为:back,如下图:
我们在MainWindowController.m中引用NewsWindowController.h文件,然后创建其对象,如下:
其中showNewsWindow方法为跳转的方法。最后我们再在NewsWindowController.m文件中实现返回的方法,如下:
完成以后,运行我们的项目,如果不出意外的话,当前功能我们已经完成,当然显示窗口的方法并不是只有
- (void)orderFront:(nullable id)sender;这一种,还有别的一些方法如:
- (IBAction)showWindow:(nullable id)sender;
- (void)makeKeyAndOrderFront:(nullable id)sender;
等等,这些还需要大家自己去研究,根据自己需求和喜好来选则用哪些方法来实现,如果不想看我上面所写的内容嫌太罗嗦的话,可以直接点击下面链接,下载deom!http://download.csdn.net/detail/u012890071/9454255 点击打开链接
今天的介绍就到此为止了,我们明天继续!
- mac app开发之:利用NSWindowController实现窗口跳转
- mac app开发之:利用NSWindowController实现窗口跳转
- iOS开发之APP跳转传参
- NSWindowController 多个窗口之间传递值
- 安卓开发之如何利用Intent对象,实现Activity和另一个Activity之间的跳转
- Mac开发,界面跳转
- QT实现窗口跳转
- Android开发之-- 利用百度sdk实现在app中提示其更新
- iOS开发实现两个APP间的跳转
- iOS开发之app跳转至各系统设置界面
- Android开发之--从app中跳转到淘宝店铺
- iOS开发之App如何跳转到系统设置界面
- Android开发之延时跳转实现方法
- mac 开发 透明窗口的实现与及完整贴图
- MAC APP开发笔记
- Vue.js实战之利用vue-router实现跳转页面
- iOS开发之app之间的跳转以及跳转到appstore
- iOS开发之app之间的跳转以及跳转到appstore
- 20160307 DataTableToExcel(将数据库中的数据导出到Excel表)
- 【BLE】CC2541之BTool
- 使用WIN32汇编语言实现一个基本windows窗口的过程分析
- 严重: 文档无效: 找不到语法。 at (null:2:8) ; 严重: Exception starting filter struts2
- iOS 开发小技巧
- mac app开发之:利用NSWindowController实现窗口跳转
- Barnes & Noble Club Projects
- Nodejs TimeZone 相关设置(修改时区)
- INNODB内存结构
- ExtJs Store baseParams设置
- 上线 之 App Store审核指南
- Android自定义View的实现方法,带你一步步深入了解View(四)
- Ionic创建一个简单的APP
- java使用JFreeChart生成图表