day1---UILabel

第一天 UILabel
UI 的全稱 User Interface 用戶界面交互,人機界面交互

一 第一個IOS APP
見【Demo】-【1-First App】

1.1程序到底是如何啟動的【理解思路】

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

1.第三個參數(shù)傳的是一個nil,表示默認創(chuàng)建一個應用程序?qū)ο螅║IApplication對象),UIApplication對象代表一個應用程序?qū)ο?;作業(yè):負責記錄當前應用程序的狀態(tài)(程序是否是第一次啟動,程序進入后臺。。程序進入前臺,,程序退出。。)

2.根據(jù)第四個參數(shù)指定的類名創(chuàng)建應用程序?qū)ο蟮拇砣?,根?jù)應用程序當前的狀態(tài),提供相應的處理(調(diào)用不同的協(xié)議方法);

3.啟動了一個時間循環(huán),是一個死循環(huán),用于記錄當前由于用戶操作產(chǎn)生的事件;

應用程序?qū)ο笙鹊绞录h(huán)中取事件,把自己的狀態(tài)發(fā)送給代理對象,,讓代理對象根據(jù)不同的狀態(tài)做不同的事情,當程序第一次啟動的時候,代理對象做的第一件事情就是創(chuàng)建一個要顯示的界面(窗口。。);didFinishLauncing。。。。方法就會在此刻被執(zhí)行。

1)進入前臺:兩個步驟:第一次啟動,進入活躍狀態(tài);
2)進入后臺:兩個步驟:進入非活躍狀態(tài),程序已經(jīng)進入后臺;
3)進入前后:連個步驟:程序?qū)⒁M入前臺,程序進入活躍狀態(tài);
4)退出:   三個步驟:進入非活躍狀態(tài),程序已經(jīng)進入后臺,退出;

//1.當程序第一次啟動的時候,調(diào)用該方法

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

                                                  視圖設置三步走【**重點**】
    

    //1).創(chuàng)建一個窗口對象,并設置窗口的大小和屏幕一樣大,
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    //2).設置窗口的背景顏色
    self.window.backgroundColor = [UIColor whiteColor];
    //3).顯示窗口對象
    [self.window makeKeyAndVisible];

// NSLog(@"程序第一次啟動");

return YES;

}

//3.表示程序?qū)⑦M入非活躍狀態(tài)

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

    NSLog(@"WillResignActive");

}

//4.程序已經(jīng)進入后臺

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

    NSLog(@"DidEnterBackground");
    }

//5.將要進入前臺

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

    NSLog(@"WillEnterForeground");
    }

//2.表示程序已經(jīng)進入了活躍狀態(tài)

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

    NSLog(@"DidBecomeActive");
    }

//6.退出

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

    NSLog(@"WillTerminate");
    }

二 UIView 視圖
2.1什么是視圖?
凡是界面上能看得見,摸得著,用于顯示的都是視圖;

2.2如何把視圖對象添加到窗口上顯示?
    視圖要顯示在窗口上,首先要有一個位置和大小,這里的位置和大小組成了一個矩形區(qū)域,然后把這個視圖添加到窗口上顯示;

UI階段所學的所有的控件,都是直接或者間接的繼承自UIView,即所有的控件都是視圖;
    【UIWindow也是繼承自UIView的,窗口也是一個特殊的視圖】

2.3 UIWindow窗口
    窗口是整個應用程序顯示界面的基礎容器,所有要顯示的界面元素都要基于窗口來添加(一個應用程序理論上只需要一個窗口)
    關鍵點:
    1.創(chuàng)建的時候要設定范圍和大小(frame)【矩形區(qū)域】
    2.顯示出來(makeKeyAndVisible)

//*************創(chuàng)建一個UIView對象******
//CGRect 是一個結(jié)構(gòu)體,他記錄視圖左頂點在父視圖坐標系中的位置以及在父視圖中所占據(jù)的大小

//1.創(chuàng)建視圖對象,并設置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】

//*************創(chuàng)建UILabel對象**********

  1. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(80, 80, screenBounds.size.width-160, 30)];
    //設置背景顏色
  2. label.backgroundColor = [UIColor cyanColor];
//設置label展示的文字內(nèi)容                                    【**重點**】
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;
//拿到系統(tǒng)提供的字體庫(數(shù)組中存儲的都是NSString *類型,每一個元素代表一個字體名稱)
9) NSArray *names = [UIFont familyNames];

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

//設置字體類型,開發(fā)過程中比較常用,具體用什么字體由美工定奪
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默認行數(shù)為1w
//設置label顯示的行數(shù)                              【****** 重點  ****】
//設置為0,表示自動換行
13) label5.numberOfLines = 0;

//根據(jù)內(nèi)容自適應字體大小

// 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;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多,會對里面所有的內(nèi)容的引用計數(shù)+1,想要解決就用__block...
    炙冰閱讀 2,726評論 1 14
  • -- iOS事件全面解析 概覽 iPhone的成功很大一部分得益于它多點觸摸的強大功能,喬布斯讓人們認識到手機其實...
    翹楚iOS9閱讀 3,212評論 0 13
  • 概述 在多數(shù)移動應用中任何時候都只能有一個應用程序處于活躍狀態(tài),如果其他應用此刻發(fā)生了一些用戶感興趣的那么通過通知...
    莫離_焱閱讀 6,713評論 1 8
  • 如今電子游戲在這個時代里蓬勃發(fā)展。 游戲是娛樂方式的一種,是幻想與現(xiàn)實之間的橋梁,也是娛樂中參與感最強的。游戲也是...
    宛火閱讀 634評論 0 0
  • 我還是多在早上活動才對,夜晚對我這種人來說,太可怕了,超級可怕,靜得沒有一個可以傾訴,但又有誰能聽你傾訴呢。我總是...
    atim1988閱讀 196評論 0 0

友情鏈接更多精彩內(nèi)容