1 创建第一个程序Hello World
1.1 模板
1.1.1 Master-Detail Application
实现导航控制,或者想在创建的ipad程序里拥有切割视图可以选择这个模板。
注:开发ipad应用程序时,可以使用UISplitViewController类实现切割视图
1.1.2 OpenGL Game
用于创建3D游戏或者图形。
1.1.3 Page-Based Application
创建一种"基于页"的应用程序,实现翻页效果。
1.1.4 Single View Application
带背景色的单视图程序。
1.1.5 tabbed Application
此模板会在底部提供一行标签,提供一系列的快捷方式。
1.1.6 Utility Application
提供一个主视图与一个切换视图。
1.1.7 Empty Application
只包含一个主窗口。
1.2 新建iPhone工程
步骤:
1.2.1 新建工程
打开Xcode,单击File–>New–>Project命令
1.2.2 选择模板
选择自己喜欢的模板。
1.2.3 输入程序名称等信息
- Product Name:工程名
- Company Identifier:公司标识符(一般命名为com.公司名)
- Bundler Identifier:为包标识符,用于唯一标识应用程序,默认会根据Company Identifier与Product Name生成。
- Class Prefix不能输入,不用理会。Device Family为程序支持的设备类型,分为iPhone、iPad和Universal(兼容)三种,选择"iPhone"
- Use Automatic Reference Counting表示内存的释放是否交给系统自动处理,Include Unit Tests如果被选中,工程下多出一个单元测试代码模块。这里全部都不选。
注:上面所有的配置项除了产品名称在工程创建完毕后,还可以再修改。所以,即使这里设置错了,也不用担心。
1.2.4 选择存储位置
保存即可
注:这里不选择Source Control复选框,它主要用于代码的本地版本控制
然后就创建完成了
1.3 项目的各个部分
1.3.1 HelloWorld
- AppDelegate:执行了程序的入口函数等一系列的方法。
- ViewController:初始化加载的视图控制类,对ViewController界面的修改都会在程序运行的时候显现出来。
- Supporting File子文件夹:里面包含了HelloWorld-Info.plist、InfoPlist.setting、mian.m和HelloWorld-Prefix.pch四个文件。HelloWorld-Info.plist包含了应用程序一些属性信息,InfoPlist.setting用于应用程序本地化,main.m包含了应用程序的main()方法。
- HelloWorld-Prefix.pch:Xcode预编译包含在此文件中的头文件,这会减少使用程序运行所需的时间,通常不需要编辑或修改此文件。
1.3.2 Framework
框架版本控制
1.3.3 Products
展开Products,可以看到一个名称为Hello World.app的项。Hello World.app是项目的唯一产品。编译成功后,可以在Finer中查看这个具体的文件
2 解密 Interface Builder
图形界面
2.1 Nib
Nib文件是基于磁盘的资源文件。
2.2 IB的组成
2.2.1 场景对象
整个IB编辑器左侧的区域就是场景对象
- File’s Owner:拥有此nib文件的对象。
- First Responder:用户当前正在与之交互的对象。
- View:用于图形化设计用户界面
2.2.2 编辑区域
中间的部分是View。它是一个可视化的操作区域。
2.2.3 属性区域
控件类型:
- Control:基本UI控件,如标签、按钮
- Data VIews:有数据交互的控件,如选择器、地图。
- Gesture Recognizers:手势操作,如滑动、放大、缩小
- Object & Controllers:控制器,如标签控制器和导航控制器。
- Windows & Bars:窗口和功能条,如工具条和导航条。
2.3 变量的关联
2.3.1 输出口(IBOutlet)
控制器使用IBOutlet来引用nib中的对象
定义:
#ifndef IBOutlet
#define IBOutlet //宏定义
@endif
2.3.2 操作(IBAction)
IBAction是用来修饰控制器类中的函数,该关键字告诉Interface Builder,此方法是一个操作,并且可以被某个空间触发。
2.3.2.1 添加变量
ViewController.m
#import <UIKit/UIKit.h>
@interface ViewController:UIViewController{
IBOutlet UILabel *mylabel; //定义一个变量
}
@end
2.3.2.2 查看File’s Owner内容
打开ViewController.xib,右击File’s Owner,在弹出的内容列表中可以看到Outlets下有了myLabel,这就是刚创建的实体变量。
2.3.2.3 关联对象
鼠标左键按住myLabel右侧的小圆圈,拖拽到Hello World这个Label上。拖拽时会出现一根蓝的指引线。在Files’s Owner 下看到myLabel右侧多了一个label,说明关联成功。
2.4 通过代码设置属性
ViewController.m
#import "ViewController.h"
@implement ViewController
-(void)didReceiveMemoryWarning{
[super didReceiveMemoryWarning];//内存警告函数
}
#progma mark -View lifecycle
-(void)viewDidLoad{
[super ViewDidLoad];
mylabel.text=@"Say Hello to World";//设置文本
mylabel.font=[UIFont systemFontOfSoze:20];//设置字体大小
[mylabel sizeToFit]; //自适应字体
mylabel.center=self.view.center; //居中
}
-(void)viewDidUnload{
[super viewDidUnload];
mylable=nil; //取消关联
}
当view初始化时会调用viewDiLoad。
3 为应用添加图标
图标命名与设置
- Icon.png:57*57像素,iPhone应用图标
- Icon@2x.png:114*114像素,iPhone Retina显示屏应用图标
- Icon-72.png:72*72像素,iPad应用图标
- Icon-72@2x.png:144*144像素,iPad Retina显示屏应用图标
- Icon-Small.png:29*29像素,iPhone系统设置和搜索结果图标
- Icon-Small-@2x.png:58*58像素,iPhone Retina显示屏系统设置和搜索结果图标
- Icon-Small-50.png:58*58像素,iPad系统设置和搜索结果图标
- Icon-Small-50@2x.png:100*100像素,iPad Retina显示屏系统设置和搜索结果图标
3.1 添加图片文件
直接拖拽到工程文件夹下,勾选Copy items into desination group’s folder(if needed)复选框。Folders、Add to targets选项保持默认。
3.2 设置Icon files
打开HelloWorld-Info.plist文件,右击任意一行,添加“Icon files”文件字段。
选中icon files字段,单击浮出来的+号,添加子字段。
然后在Icon files中添加6个字段,使其同时适应iPhone与iPad的图标要求
3.3 程序名设置
修改Bundle display name字段。