之前忘了把這些整理出來,現在補充一下,應該放在前面學習的 知識點: 1.UI的初步認識 2.UIWindow 3.UIView 4.UIlabel UI的初步認識 1.什麼是UI(*) UI即User Interface(用戶界面)的簡稱。UI設計則是指對軟 件的人機交互、操作邏輯、界面美觀的整體設 ...
之前忘了把這些整理出來,現在補充一下,應該放在前面學習的
知識點:
1.UI的初步認識
2.UIWindow
3.UIView
4.UIlabel
========================
UI的初步認識
1.什麼是UI(*)
UI即User Interface(用戶界面)的簡稱。UI設計則是指對軟 件的人機交互、操作邏輯、界面美觀的整體設計。好的UI設 計不僅是讓軟體變得有個性有品味,還要讓軟體的操作變得 舒適、簡單、自由、充分體現軟體的定位和特點。
2.第一個UI工程
1)UI工程的程式入口在哪裡(*)
在AppDelegate這個類中(UIApplication的代理對象);
2)什麼是UIApplicationMain(*)
每一個程式在運行期必須有且僅有一個UIApplication(或則其 子類)的一個實例。創建UIApplication的單例實例。這樣可以 通過調用[UIApplication sharedApplication]來得到這個單例 實例的指針。
UIApplication的一個主要工作是處理用戶事件,它會創建一個 隊列,把所有用戶事件都放入隊列,逐個處理,
在處理的時候,它會發送當前事件到一個合適的處理事件的目 標控制項。此外,UIApplication實例還維護一個在本應用中打開 的window列表(UIWindow實例),這樣它就 可以接觸應用 中的任何一個UIView對象。UIApplication實例會被賦予一個 代理對象,以處理應用程式的生命周期事件(比如程式啟動和 關閉)、系統事件(比如來電、記事項警告)等等
3)IOS程式圖標和程式名設置(***)
修改info.plist配置文件中的bundle name
圖片必須是png格式,並且像素尺寸必須要符合要求
========================
UIWindow
1.iPhone應用程式通常只有一個視窗,表示為一個UIWindow類的 實例。應用程式在啟動時創建這個視窗,並往視窗中加入一或多 個視圖並顯示出來。
2.UIWindow對象是所有UIView的根,管理和協調應用程式的顯 示。一般應用程式只有一個UIWindow對象,即使有多個 UIWindow對象,也只有一個UIWindow可以接受到用戶的觸屏 事件。
備註:UIWindow繼承自UIView
========================
UIView使用
1.UIView初步介紹
ios中一切看得見摸得著的類都是直接或者間接的繼承自UIView
2.UIView作用
1)視圖是UIView類的實例,負責在屏幕上定義一個矩形區域。
視圖在展示用戶界面及響應用戶界面交互方面發揮關鍵作用。
每個視圖對象都要負責渲染視圖矩形區域中的內容,並響應該區域 中發生的操作事件。視圖是應用程式與用戶交互的重要機制。除了 顯示內容和處理事件之外,視圖還可以用於管理一或多個子視圖。
2)子視圖是指嵌入到另一視圖對象邊框內部的視圖對象,而被嵌入的 視圖則被稱為父視圖或超視圖。視圖的這種佈局方式被稱為視圖層 次,一個視圖可以包含任意數量的子視圖,通過為子視圖添加子視 圖的方式,視圖可以實現任意深度的嵌套。子視圖總是被顯示在其 父視圖的上方。每個父視圖都負責管理其直接的子視圖,根據需要 調整它們的位置和尺寸,以及響應它們沒有處理的事件。
3.iPhone屏幕是用點來計算坐標的
型號 x y
iPhone4 320 * 480
iPhone4S 320 * 480
iPhone5 320 * 568
iPhone5S 320 * 568
iPhone6 375 * 667
iPhone6 Plus 414 * 736
普通屏幕 1點=1像素
retina屏幕 1點 = 4像素
6 Plus 1點 = 9像素
4.iPhone的坐標系
1) 原點在左上角
2) 往右為x的正方向,往下為y的正方向
5.UIView常見屬性和坐標屬性
1)IOS中的坐標系統
2)frame: 該view在父view坐標系統中的位置和大小。 (參照點是,父親的坐標系統)
3)bounds:該view在自身坐標系中的位置和大小。 (參照點是,自己的坐標系)
4)center:該view的中心點在父view坐標系統中的位置。
(參照點是,父親的坐標系統)
6.UIView的層次關係
1)添加子視圖:addSubView
[self.window addSubview:label];
2)從父視圖移除:removeFromSuperview
========================
UIlabel
1.UIFont類常用方法
1)創建一個UIFont對象
(UIFont *)fontWithName:(NSString *)name size:(CGFloat)size
label.font = [UIFont fontWithName:@"Zapfino" size:20];
2)遍歷系統字體庫
(NSArray *)familyNames
//獲取系統的字體庫
NSArray *fontArr = [UIFont familyNames];
3)設置加粗
(UIFont *)boldSystemFontOfSize:(CGFloat) size
label.font = [UIFont boldSystemFontOfSize:20];
2.UILabel如何改變字體顏色
1)字體顏色:setTextColor
2)文字陰影顏色:setShadowColor
3)設置文字陰影偏移: setShadowOffset
//陰影相對於本身的label 往X的正方向偏移20個單位,往Y方向偏移20個單位
label.shadowOffset = CGSizeMake(20, 20);
//設置陰影顏色
label.shadowColor = [UIColor grayColor];
3.UILabel文字對齊方式:setTextAlignment
1)NSTextAlignmentLeft -> 左對齊
2) NSTextAlignmentCenter ->居中對齊
3)NSTextAlignmentRight ->右對齊
label.textAlignment = NSTextAlignmentCenter;
4.UILabel多行顯示:numberOfLines
//0代表無限換行,直到超出label本身的範圍
label.numberOfLines = 0;
5.自適應內容,根據內容大小設置UILabel的frame
//textSize為最後字元串內容占用的區域大小
CGSize textSize = [str boundingRectWithSize:CGSizeMake(200, 3000) options:NSStringDrawingUsesLineFragmentOrigin attributes:dic context:nil].size;
//創建一個UILabel ,UILabel的大小根據textSize進行變化
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 20, textSize.width, textSize.height)];