ios开发教程全收入65mb iphoneipad中文版分割版本_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Cocoa 系列教学一:使用代码创建窗口时间: 2009-06-11 19:24 点击:3662 次作者:Cocoachina 特约作者 Younker这次主要讲解一下如何通过编写代码的方式来实现一个窗口程序, 当然这个程序十分的简单, 不过它演示了一些应该了解的东西,因此应该可以更好的帮助了解XCode 和erface Builder 为的开发工作做了哪些工作。大部分讲解 Cocoa 编程的书都会用到 Xcode 和erface Builder,这两个工具的结合是开发 Cocoa 应用程序的最佳选择, 但是当中往往隐藏了许多细节的东西,为了对 Cocoa 的运作方式有更好的了解,我决定用代码

2、来实现一些功能,以此来研究 Cocoa 的方式。erface Builder 中Nib 文件实现的部分下面先看看这个最简单的oWin 的源代码。#import main(argc, char* argv)NSAutoreleasePool* pool = NSAutoreleasePool alloc init;NSApplication* app = NSApplication sharedApplication;/Create the main windowNSRect rc = NSMakeRect(0, 0, 800, 600);NSU eger uiStyle = NSTitledW

3、indowMask | NSResizableWindowMask | NSClosableWindowMask;NSBackingStoreType backingStoreStyle = NSBackingStoreBuffered;NSWindow* win = NSWindow alloc initWithContentRect:rc styleMask:uiSty oreStyle defer:NO;acking:backingStwin setTitle:oWest;wwakeKeyAndOrderFront:win;akeMainWindow;/Start the event l

4、o NSApp run;pool drain;y calling NSApp run作者:Cocoachina 特约作者Younker 这次主要讲解一下如何通过编写代码的方式来实现一个窗口程序, 当然这个程序十分的简单, 不过它演示了一些应该了解的东西,因此应该可以更好return 0;编译命令如下:gccoW-framework Cocoa -ooWin所有的Cocoa 程序都要连接Cocoa 这个Framework,Cocoa Framework 会自动其他需要的framework,比如Foundation Framework。这个编译指令生成的程序名字叫命令来看看这个程序的运行情况。oW

5、in, 你可以通过在终端下执行下面的./oWin窗口显示如下你会发现这个程序在Dock 上面没有图标,在菜单栏上没有菜单, 虽然你可以关掉这个窗口, 但是在终端的提示中可以看到这个应用程序没有退出, 现在在终端按ctrlC 结束这个应用程序。下面来具体看一下这个简单的程序,首先了一个 NSAutoreleasePool 的实例,接下来import 了Cocoa 这个 Framework,然后创建通过 NSApplication 的类方法 sharedApplication 得到了一个 NSApplication 对象,并将这个对象赋给一个 NSApplication 类的实例,其实这个赋值是不

6、需要的, 因为在调用 sharedApplication 的时候, Cocoa 设置了另外 一个全局的 NSApplication 对象的实例, NSApp,所以你可以看到在后面调用 run 方法的 R eceiver 是NSApp,而没有用 app。所以你可以简单的在这里直接调用NSApplication sharedApplication;以后在需要 NSApplication 对象的时候直接使用 NSApp 就可以了。在得到了 NSApp 之后,程序开始创建窗口,因为这个是窗口也是程序的主窗口(mainWindow), 所以在创建这个窗,针对窗口的 styleMask 也需要满足一定的条

7、件。如果一个窗口想成为主窗口,必须是具有标题(NSTitleWidowMask)或者拥有可改变大小属性(NSResi zableWindowMask)。另外如果你希望这个窗口能够被关掉,那么 NSClosableWindowMask 也是需要的,否则尽管这个窗口能显示出来, 但是你会发现标题栏上的关闭按钮是灰色的。在初始化窗口之后,通过 setTitle:设置窗口的标题,对 makeKeyAndOrderFront:的调用是一个关键,因为一个窗口想成为 mainWindow,必须是可见的,在调用这个方法之后,可以通过 makeMainWindow:方法来让这个窗口成为程序的主窗口。就在有了主窗口之后,可以调用 NSApplication 的run 方法来启动程序的消息循环,到这时应用程序就开始运行了, 也能接受各种应用程序或者窗口的事件了。这里有个地方需要提示一下,在代码中看到设定的初始 Rect 起点是(0,0),但是却显示在屏幕的左下角,这个问题是因为 Mac 上缺省的坐标系与 Windows 下面的不同,Mac上的坐标系原点在屏幕的左下角,所以整个屏幕是出于第一象限的,这与到的知识是一致的,以后会讲到这个问题的。在中学时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论