2015.3.13
//应用程序分类:
//ios本地应用程序: 利用iphone软件开发包(SDK)开发的本地应用程序
//web应用程序: 在web中显现的应用程序
//开发环境及工具
//1. xcode :编辑及调试代码文本
//2. interface builder: 可视化UI接口创建工具
//3. instruments : 调试分析应用程序, 分析内存等
//4. simulator : 模拟手机的运行环境
//5. SDK: iphone软件开发包
//开发方式: 手动创建 xib创建
//沙盒(sandBox)
//出于安全考虑,为每个应用程序在系统中创建独立文件系统机制,称为沙盒,也就是说, 每一个应用程序都是独立的存在
//应用程序之间的数据不能共享
//应用程序生命周期
@implementation AppDelegate
@synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 30, 300, 30)];
view.backgroundColor = [UIColor redColor];
[self.window addSubview:view];
[view release];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));
return YES;
}
//欧路词典
//程序即将进入后台模式调用
- (void)applicationWillResignActive:(UIApplication *)application
{
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
//当应用程序从激活状态切换到非激活状态, 这个方法被调用;
//发生中断事件的时候, 这个方法也会被调用,如:电话接入, 收到短信
//或者用户退出应用程序切换到后台模式这个方法也被调用
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
//用这个方法暂停正在进行的任务,停止定时器,降低OpenGL ES帧率,暂停游戏
NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));
}
//进入后台后调用
- (void)applicationDidEnterBackground:(UIApplication *)application
{
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
//用这个方法释放共享资源保存用户数据,失效定时器,存储足够的应用程序状态信息用来恢复你的应用程序到当时的状态在应用程序随后被终止的时候
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
//如果你的程序支持后台执行, 这个方法会替换applicationWillTerminate:
NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));
}
//程序将要进入前台
- (void)applicationWillEnterForeground:(UIApplication *)application
{
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
//从后台切换到前台被调用
//执行的动作与从前台切换到后台的动作相反
NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));
}
//切换到前台
- (void)applicationDidBecomeActive:(UIApplication *)application
{
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
//重启被暂停的任务, 如果应用程序之前在后台,有选择的刷新UI
NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));
}
- (void)applicationWillTerminate:(UIApplication *)application
{
// Saves changes in the application‘s managed object context before the application terminates.
//保存程序终止前的数据
[self saveContext];
NSLog(@"funtion %@ is calling", NSStringFromSelector(_cmd));
}
——————————————————————————————分割———————————————————————————
// Override point for customization after application launch.
//通常应用程序只有一个窗口(window)
//UIWindow 继承与 UIView
//UIView是视图类的基类
//UIWindow 跟UIView 配合显示内容
//frame: 相对于父视图计算的坐标系
//bounds: 直接以ios系统坐标计算的位置
//状态栏 占大小是 20
NSLog(@"width: %f, heigth: %f", self.window.frame.size.width, self.window.frame.size.height);
// UIScreen *screen = [UIScreen mainScreen];
// NSLog(@"screen = %@", screen);
//CGPoint point = CGPointMake(10, 10);
//CGSize size = CGSizeMake(100, 50);
UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(10, 30, 300, 50)];
view1.backgroundColor = [UIColor blueColor];
[self.window addSubview:view1];//引用计数+1
[view1 release];
UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(10, 100, 300, 50)];
view2.backgroundColor = [UIColor cyanColor];
[self.window addSubview:view2];
[view2 release];
//设置window背景颜色
self.window.backgroundColor = [UIColor whiteColor];
//使window可见
[self.window makeKeyAndVisible];
return YES;
}
——————————————————————————————分割———————————————————————————
// Override point for customization after application launch.
//标签:显示文字,不可以对文字编辑
//UILabel是UIView的子类
UILabel *label1 = [[UILabel alloc] init];
label1.frame = CGRectMake((320-300)/2.0, 30, 300, 30);
//设置标签内容
label1.text = @"标签1: Label";
//设置背景颜色
label1.backgroundColor = [UIColor redColor];
[self.window addSubview:label1];
[label1 release];
UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(10, 70, 300, 30)];
label2.text = @"标签2: Label";
label2.backgroundColor = [UIColor greenColor];
//设置文字颜色
label2.textColor = [UIColor whiteColor];
//设置文字居中
label2.textAlignment = NSTextAlignmentCenter;
//设置文字字体及大小
label2.font = [UIFont systemFontOfSize:25];
[self.window addSubview:label2];
[label2 release];
//遍历字体库
NSArray *familyFont = [UIFont familyNames];
for (NSString * familyName in familyFont) {
NSArray *names = [UIFont fontNamesForFamilyName:familyName];
for (NSString *fontName in names) {
NSLog(@"fontName : %@", fontName);
}
}
UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(10, 110, 300, 30)];
label3.text = @"标签3: Label";
label3.textAlignment = NSTextAlignmentCenter;
label3.textColor = [UIColor blueColor];
label3.backgroundColor = [UIColor yellowColor];
label3.font = [UIFont systemFontOfSize:22];
//设置阴影颜色
label3.shadowColor = [UIColor blackColor];
//设置阴影偏移量
label3.shadowOffset = CGSizeMake(3, -3);
//设置字体及字号, 默认字号17
label3.font = [UIFont fontWithName:@"GillSans-Italic" size:23];
[self.window addSubview:label3];
[label3 release];
UILabel *label4 = [[UILabel alloc] initWithFrame:CGRectMake(10, 150, 300, 50)];
//设置透明色
label4.backgroundColor = [UIColor clearColor];
label4.text = @"qianfeng jiaoyu label I love chineseword World english math qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng qianfeng";
label4.backgroundColor = [UIColor orangeColor];
//label4.textAlignment = NSTextAlignmentCenter;
//不限制文字显示行数
label4.numberOfLines = 0;
//自适应文字大小
//label4.adjustsFontSizeToFitWidth = YES;
//省略中间的内容
label4.lineBreakMode = NSLineBreakByTruncatingMiddle;
[self.window addSubview:label4];
[label4 release];
//
UILabel *label5 = [[UILabel alloc] initWithFrame:CGRectMake(10, 210, 300, 100)];
label5.text = @"UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel UILabel ";
label5.backgroundColor =[UIColor greenColor];
label5.numberOfLines = 0;
label5.lineBreakMode = NSLineBreakByCharWrapping;
[self.window addSubview:label5];
[label5 release];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
——————————————————————————————分割———————————————————————————
国际象棋棋盘
// Override point for customization after application launch.
[self printChessLabel];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
- (void)printChessLabel
{
NSLog(@"size = %f", self.window.frame.size.width);
NSArray *array = [[NSArray alloc] initWithObjects:@"車",@"??",@"??",@"王",@"后",@"??",@"??",@"車", nil];
for (NSInteger i =0;i<8; i++) {
for (NSInteger j =0; j<8; j++) {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(40*j,40*i+20, 40, 40)];
if ((i+j)%2) {
label.backgroundColor = [UIColor greenColor];
}
else
{
label.backgroundColor = [UIColor yellowColor];
}
//设置文字
if (i==0 || i==7) {
label.text = array[j];
}
if (i==1 || i==6) {
label.text = @"兵";
}
label.textAlignment = NSTextAlignmentCenter;
//设置字体颜色
if (i==0 || i==1) {
label.textColor = [UIColor redColor];
}
if (i==6 || i==7) {
label.textColor = [UIColor blueColor];
}
[self.window addSubview:label];
[label release];
}
}
}