创建一个MAC OS X下的Cocoa Application对话框程序

  • Post author:
  • Post category:其他



本文转载:

http://blog.csdn.net/nokiaxjw/article/details/7346730


操作系统:Mac OS X Lion 10.7.3


开发环境:Xcode4.2.1


一.创建一个Cocoa Application项目


1.[File]->[New]->[New Project]


选择Mac OS X列表下的Application项,在右边窗口中选择[Cocoa Application]->[Next]







2.输入Product Name:WordSwitch


Company Identifier:rocksea.net.cn


Class Prefix:


App Store Category:None


->[Next]







3.选择一个项目的保存目录(例如XCode_Data)->[Create]



4.进入Xcode4.2.1编辑界面



5.选择左边Project Navigator窗格中的MainMenu.xib(应用程序的Interface Builder-nib主文件,用于设计用户图形界面),


->选择[Window-WordSwitch]





6.从右下方的Object Library窗格中,往对话框中添加Lable,Text Field,Gradient Button对象,添加方法:在Object Library窗格中,鼠标左键选择一个Object对象,鼠标左键按住不放,往对话框中拖拉。





7.在对话框窗口中选择Lable对象,在右上方的Inspector窗格中选择Attributers Inspector项,将显示Lable对象的属性,修改Title:测试字母如下。类似的方法修改对话框窗口、Text Field、Gradient Button对象的Title属性。





8.创建对话框窗口类(与对话框对象“字母大小写转换”关联起来)


鼠标左键单击左侧的Project Navigator窗格中的[+]按钮,弹出添加新类对话框,




选择[Max OS X]->[Cocoa]->[Objective-C class]->[Next],



输入如下内容->[Next]


Class:DialogSwitch       //对话框类名称


Subclass of:NSWindow//从NSWindow窗口类继承





->[Create]->生成DialogSwitch类





9. 关联类DialogSwitch和MainMenu.xib中的窗口“字母大小写转换”



选择左边Project Navigator窗格中的MainMenu.xib(应用程序的Interface Builder-nib主文件,用于设计用户图形界面),


->选择[Window-WordSwitch]->在右上方的Inspector窗格中选择Indentity Inspector项->修改Class:NSWindow为Class:DialogSwitch





10. 添加DialogApp类的实例变量和操作


注:实例变量前面的IBOutlet关键字的作用是告诉Interface Builder,此实例变量将被连接到nib中的对象。


注:方法前面的IBAction关键字到作用是告诉Interface Builder,此方法是一个操作,可以被nib中的控件触发。


编辑DialogSwitch.h,内容如下



#import

<AppKit/AppKit.h>



@interface

DialogSwitch :

NSWindow



@property

(

assign

)

IBOutlet



NSTextField


*textField;


//


实例变量

– (

IBAction

)UpperText:(

id

)sender;

//


操作

– (

IBAction

)LowwerText:(

id

)sender;

//


操作

– (

IBAction

)exitApplication:(

id

)sender;

//


操作

– (

void

)dealloc;

//


对象销毁方法


,


释放实例变量的内存



@end

编辑DialogSwitch.m,内容如下


#import

“DialogSwitch.h”

@implementation

DialogSwitch


@synthesize

textField;

– (

IBAction

)UpperText:(

id

)sender

{



NSString

*text =


textField


.

stringValue

;


[


textField



setStringValue

:[text

uppercaseString

]];

}

– (

IBAction

)LowwerText:(

id

)sender

{



NSString

*text =


textField


.

stringValue

;


[


textField



setStringValue

:[text

lowercaseString

]];

}


//

退出应用程序

– (

IBAction

)exitApplication:(

id

)sender

{


exit

(

0

);

}

– (

void

)dealloc

{


[

textField



release


];

[

super


dealloc

];

}

@end


11.关联实例变量和nib(MainMenu.xib)中的对象,关联操作和nib中的控件





选择左边Project Navigator窗格中的MainMenu.xib(应用程序的Interface Builder-nib主文件,用于设计用户图形界面),


->选择[Window-WordSwitch]->在右上方的Inspector窗格中选择Connections Inspector项




连接实例变量textField


入下图所示,鼠标左键点击[Outlets]下面的textField实例变量右边到圆圈,鼠标左键按住不放,拖拉鼠标到nib的的“abcdefg”编辑框上,松开鼠标左键





textField实例变量和“abcdefg”编辑框连接成功,如下图所示




同理连接Received Actions下的exitApplication操作到按钮[退出程序],LowwerText操作到按钮[小写],UpperText操作到按钮[大写],连接成功后入下图所示




运行效果如下