day1---UILabel

第一天 UILabel
UI 的全称 User Interface 用户界面交互,人机界面交互

一 第一个IOS APP
见【Demo】-【1-First App】

1.1程序到底是如何启动的【理解思路】

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])) 函数一共做了三件事:

1.第三个参数传的是一个nil,表示默认创建一个应用程序对象(UIApplication对象),UIApplication对象代表一个应用程序对象;作业:负责记录当前应用程序的状态(程序是否是第一次启动,程序进入后台。。程序进入前台,,程序退出。。)

2.根据第四个参数指定的类名创建应用程序对象的代理人,根据应用程序当前的状态,提供相应的处理(调用不同的协议方法);

3.启动了一个时间循环,是一个死循环,用于记录当前由于用户操作产生的事件;

应用程序对象先到事件循环中取事件,把自己的状态发送给代理对象,,让代理对象根据不同的状态做不同的事情,当程序第一次启动的时候,代理对象做的第一件事情就是创建一个要显示的界面(窗口。。);didFinishLauncing。。。。方法就会在此刻被执行。

1)进入前台:两个步骤:第一次启动,进入活跃状态;
2)进入后台:两个步骤:进入非活跃状态,程序已经进入后台;
3)进入前后:连个步骤:程序将要进入前台,程序进入活跃状态;
4)退出:   三个步骤:进入非活跃状态,程序已经进入后台,退出;

//1.当程序第一次启动的时候,调用该方法

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

                                                  视图设置三步走【**重点**】
    

    //1).创建一个窗口对象,并设置窗口的大小和屏幕一样大,
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    //2).设置窗口的背景颜色
    self.window.backgroundColor = [UIColor whiteColor];
    //3).显示窗口对象
    [self.window makeKeyAndVisible];

// NSLog(@"程序第一次启动");

return YES;

}

//3.表示程序将进入非活跃状态

  • (void)applicationWillResignActive:(UIApplication *)application {

    NSLog(@"WillResignActive");

}

//4.程序已经进入后台

  • (void)applicationDidEnterBackground:(UIApplication *)application {

    NSLog(@"DidEnterBackground");
    }

//5.将要进入前台

  • (void)applicationWillEnterForeground:(UIApplication *)application {

    NSLog(@"WillEnterForeground");
    }

//2.表示程序已经进入了活跃状态

  • (void)applicationDidBecomeActive:(UIApplication *)application {

    NSLog(@"DidBecomeActive");
    }

//6.退出

  • (void)applicationWillTerminate:(UIApplication *)application {

    NSLog(@"WillTerminate");
    }

二 UIView 视图
2.1什么是视图?
凡是界面上能看得见,摸得着,用于显示的都是视图;

2.2如何把视图对象添加到窗口上显示?
    视图要显示在窗口上,首先要有一个位置和大小,这里的位置和大小组成了一个矩形区域,然后把这个视图添加到窗口上显示;

UI阶段所学的所有的控件,都是直接或者间接的继承自UIView,即所有的控件都是视图;
    【UIWindow也是继承自UIView的,窗口也是一个特殊的视图】

2.3 UIWindow窗口
    窗口是整个应用程序显示界面的基础容器,所有要显示的界面元素都要基于窗口来添加(一个应用程序理论上只需要一个窗口)
    关键点:
    1.创建的时候要设定范围和大小(frame)【矩形区域】
    2.显示出来(makeKeyAndVisible)

//*************创建一个UIView对象******
//CGRect 是一个结构体,他记录视图左顶点在父视图坐标系中的位置以及在父视图中所占据的大小

//1.创建视图对象,并设置frame
CGRect screenBounds = [[UIScreen mainScreen] bounds];   //拿到屏幕的大小

CGRect rect = CGRectMake(50, 50, screenBounds.size.width-100, 200);
UIView *view = [[UIView alloc] initWithFrame:rect];

//2.设置视图的背景颜色
view.backgroundColor = [UIColor orangeColor];

//3.把视图对象添加到窗口上显示
view.alpha = 0.1;
[self.window addSubview:view];



UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(100, 100, view.frame.size.width-100, view.frame.size.height-100)];
view2.backgroundColor = [UIColor blueColor];
//设置透明度(0-1取值)
view2.alpha = 1;
//设置一个视图是否隐藏 YES 隐藏    NO 不隐藏(默认)
view2.hidden = NO;
[self.window addSubview:view2];

// [view2 removeFromSuperview]; //移除视图

//frame     表示参照父视图的坐标系来设置x,y,w,h的值
//bounds    表示参照以自己本身的坐标系为参照,来设置x,y,w,h(x,y坐标永远为0,0)
//center    中心点 (通过中心点可以直接移动视图)
view2.center = CGPointMake(200, 300);

三 UILabel:UIView
作用:用于显示文本信息
【Demo】-【2-UILabel】

//*************创建UILabel对象**********

  1. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(80, 80, screenBounds.size.width-160, 30)];
    //设置背景颜色
  2. label.backgroundColor = [UIColor cyanColor];
//设置label展示的文字内容                                    【**重点**】
3)label.text = @"我是标签1";

//设置文字的对齐方式(居左,居右,居中)【默认居中】
4) label.textAlignment = NSTextAlignmentCenter;
//设置文字的字体颜色(默认是黑色) 
5) label.textColor = [UIColor redColor];

// [self.window addSubview:label];

label2.textAlignment = NSTextAlignmentRight;//居右显示
//设置文字的字体大小                                         【***】
6) label2.font = [UIFont systemFontOfSize:24];
//设置字体加粗
//同一属性,设置多次,以最后一次设置为准
7) label2.font = [UIFont boldSystemFontOfSize:22];
//设置斜体
8) label2.font = [UIFont italicSystemFontOfSize:22];


label3.textAlignment = NSTextAlignmentCenter;
//拿到系统提供的字体库(数组中存储的都是NSString *类型,每一个元素代表一个字体名称)
9) NSArray *names = [UIFont familyNames];

// NSLog(@"%@", names);

//设置字体类型,开发过程中比较常用,具体用什么字体由美工定夺
10) label3.font = [UIFont fontWithName:@"Sinhala Sangam MN" size:22];

// [self.window addSubview:label3];

label4.textAlignment = NSTextAlignmentCenter;
//设置文字的阴影颜色
11) label4.shadowColor = [UIColor redColor];
//设置文字阴影的偏移量
12) label4.shadowOffset = CGSizeMake(1, 1);

    //label默认行数为1w
//设置label显示的行数                              【****** 重点  ****】
//设置为0,表示自动换行
13) label5.numberOfLines = 0;

//根据内容自适应字体大小

// label5.adjustsFontSizeToFitWidth = YES;

//设置label的换行模式  了解

// label5.lineBreakMode = NSLineBreakByTruncatingTail;

//添加阴影效果
bt.layer.shadowOffset = CGSizeMake(3, 3);
bt.layer.shadowColor = [UIColor redColor].CGColor;
bt.layer.shadowOpacity = 1;
//添加圆角效果
bt.layer.masksToBounds = YES;
bt.layer.cornerRadius = 10;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,468评论 1 14
  • -- iOS事件全面解析 概览 iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实...
    翘楚iOS9阅读 2,938评论 0 13
  • 概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知...
    莫离_焱阅读 6,489评论 1 8
  • 如今电子游戏在这个时代里蓬勃发展。 游戏是娱乐方式的一种,是幻想与现实之间的桥梁,也是娱乐中参与感最强的。游戏也是...
    宛火阅读 580评论 0 0
  • 我还是多在早上活动才对,夜晚对我这种人来说,太可怕了,超级可怕,静得没有一个可以倾诉,但又有谁能听你倾诉呢。我总是...
    atim1988阅读 160评论 0 0