1 启动Xcode (command shift N 快速 新建项目);
2:建立新项目
3 :删除 ViewController.h.m 和 故事板文件 并且 吧 项目中 的 main 删去(这个不删 编译会出错误);删掉后要重新编译
4:创建自己的 ViewController 类
5.在 ViewController.m 文件中 修改如下
- (void)viewDidLoad {
[super viewDidLoad];
//创建标签
UILabel*label=[[UILabel alloc]initWithFrame:CGRectMake(100, 200, 100, 40)];
label.text=@"HELLO kITTY";
[self.view addSubview:label];
}
6.在jAppdelegate.m中创建窗口
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];//创建window的 实例
self.window.backgroundColor=[UIColor greenColor];
TRViewController*vc=[[TRViewController alloc]init];
self.window.rootViewController=vc;
[self.window makeKeyAndVisible];
return YES;
}
自己写的时候注意不要忘记最后一句[self.window makeKeyVisible] 在我理解就是打开程序的钥匙
下面是总结
2.第一个iOS APP :显示Hello Kitty字符串
1)创建工程:选择Singel View Applcation -->填写应用程序的名称-->类前缀保留三个字母(两个字母的前缀苹果公司默认都被占用)--->组织名的倒叙+工程名+开发证书的编号称为应用商店中的唯一标示
2)工程中的组织文件 TRAppDelegate.h+m (应用程序代理类)
3)程序是如何启动的?
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([TRAppDelegate class]));
}
}
main方法中,UIApplicationMain是一个全局函数,一共做了三件事。
第一件:根据第三个参数指定的类型名创建了一个应用程序对象
第二件:根据第四个参数指定的类型名创建了一个应用程序代理类对象
第三件:启动了事件循环
应用程序对象从事件循环中,取发生的事件对象,然后发通知给代理类对象,由代理类对象来处理事件的响应。
4)TRAppDelegate对象:能够针对应用程序级别的事件作出响应。例如:应用程序启动,进入后台,重新激活,这些事件都有代理类处理。
didFinishLaunching方法:在应用程序刚一启动就被执行。如果想设定界面中有什么的话,或者设定哪个界面启动的话,就在这个方法中编写代码。
2.UIWindow对象
什么是?应用程序要想显示时需要的最底层的视图
作用是?承载界面中要显示的一切内容
注意事项:不要直接在window对象中添加任何的控件,而是要将一个视图控制器设置位window对象的根视图控制器,这样,window对象取展示根视图控制器管着的视图。
3.frame
什么是?一种CGRect类型的结构体
作用是?描述了一个在父视图中的尺寸和大小位置的一种数据
包含两部分:
origin:矩形区域的左顶点
CGPoint类型
size:矩形区域的大小(宽,高)
CGSize类型
如何创建结构体对象?
CGRect rect = {0,0,300,200};
CGRect rect = CGRectMake(0,0,300,200);
CGPoint point = CGPointMake(0,0);
CGSize size = CGSizeMake(300,200);
4.界面显示理念(视图控制器 + 视图)(C+v)
视图控制器:UIViewController用于对界面进行所有的布局、创建界面、响应用户的操作。
视图:UIView用于提供一个可以显示的界面
控制器和视图的关系:UIViewController天生就自带一个视图。借助于self.view属性就能访问到这个自带的视图,对视图的样式、事件响应提供具体的操作
5.视图+控件
视图:能够看的见的界面UIView
控件:从UIView中派生出来的一个分支UIControl,视图只是一个抽象的屏幕中的矩形区域,但是控件是有具体的外观和功能的。像刚才使用的UILabel用于显示文本信息可以叫控件。按钮,文本框,都有具体的功能和外观。
视图:界面
控件:界面中包含的有具体功能的组件
6.标签
是什么:UILabel,在界面中显示文字
常用属性:text
常用事件:无事件,因为label严格意义上不是控件,所以没有事件。