热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

创建一个MacOSX下的CocoaApplication对话框程序

操作系统:MacOSXLion10.7.3开发环境:Xcode4.2.1一.创建一个CocoaApplication项目1.[File]-[New]-

操作系统: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


@interface DialogSwitch :NSWindow


@property (assign)IBOutletNSTextField *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;

    [textFieldsetStringValue:[textuppercaseString]];

}


- (IBAction)LowwerText:(id)sender

{

   NSString *text =textField.stringValue;

    [textFieldsetStringValue:[textlowercaseString]];

}


//退出应用程序

- (IBAction)exitApplication:(id)sender

{

    exit(0);

}




- (void)dealloc

{

    [textFieldrelease];

    [superdealloc];

}


@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操作到按钮[大写],连接成功后入下图所示

运行效果如下





推荐阅读
  • 本文总结了在使用React Native开发过程中遇到的一些常见问题及其解决方法,包括配置错误、依赖问题和特定组件的使用技巧。 ... [详细]
  • iOS 开发技巧:TabBarController 自定义与本地通知设置
    本文介绍了如何在 iOS 中自定义 TabBarController 的背景颜色和选中项的颜色,以及如何使用本地通知设置应用程序图标上的提醒个数。通过这些技巧,可以提升应用的用户体验。 ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
  • 本文详细介绍如何在 macOS 上编译 FFmpeg 3.1.1,并将其集成到 iOS 项目中,包括必要的环境配置和代码示例。 ... [详细]
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • 本文详细介绍了如何在iOS5中创建和理解简单的Hello World应用,包括Interface Builder的使用、Objective-C源代码文件的结构以及事件处理机制。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • 在现代移动应用开发中,尤其是iOS应用,处理来自服务器的JSON数据是一项基本技能。无论是使用Swift还是PHP,有效地解析和利用JSON数据对于提升用户体验至关重要。本文将探讨如何在Swift中优雅地处理JSON,以及PHP中处理JSON的一些技巧。 ... [详细]
  • 本文介绍了如何在Xcode中通过自定义文件模板来添加个性化的注释,以提高代码的可读性和维护性。具体步骤包括打开Xcode的应用包,定位到文件模板目录,并对相关文件进行编辑。 ... [详细]
  • 在M1 Mac上使用Xcode编译iOS模拟器项目时,可能会遇到错误提示 'building for iOS Simulator, but linking in object file built for iOS, for architecture arm64',本文将提供解决方案。 ... [详细]
  • 本文探讨了Java中char数据类型的特点,包括其表示范围以及如何处理超出16位字符限制的情况。通过引入代码点和代码单元的概念,详细解释了Java处理增补字符的方法。 ... [详细]
  • 本文详细介绍了 Nginx 中用于端口监听的核心配置指令,包括其基本用法和高级选项。 ... [详细]
  • Java基础概念与核心特性解析
    本文深入探讨了Java编程语言的基本特点,包括其简洁性、面向对象设计、跨平台能力以及多线程支持等关键特性。此外,文章还详细分析了JVM、JDK和JRE之间的区别,并讨论了字节码的概念及其优势。 ... [详细]
  • 探索PWA H5 Web App优化之路(Service Worker与Lighthouse的应用)
    本文探讨了如何通过Service Worker和Lighthouse工具来优化PWA H5 Web App,旨在提升用户体验,包括提高加载速度、增强离线访问能力等方面。 ... [详细]
  • QLab Pro如何对工作区进行设置
    QLabMac是一款Mac平台的音频编辑处理工具,用户可对WAV、MP3、MP2、MPEG、OGG、AVI、g721、g723、g726、vox、ram、pcm、wm ... [详细]
author-avatar
新起点新娘妆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有