中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

UIKit框架(2)框架簡介

發布時間:2020-07-24 08:39:30 來源:網絡 閱讀:1017 作者:ymanmeng123 欄目:移動開發
  • UIKit框架

什么是框架?

     簡單來說,就是其他攻城獅開發完成的代碼,包括庫文件、頭文件等,這些文件中的API我們可以拿過來使用

     

UIKit框架是干什么的?

     提供創建基于觸摸用戶界面的類

     包括:屏幕上的繪制機制、捕捉事件、管理組織復雜的UI元素


UIKit中最重要的兩個類?

1)UIView:所有可以看到的組件/控件/視圖的父類

          如:UIButton按鈕、UILabel標簽、UITextField輸入框、UIImageView圖片視圖等

2)UIViewController:所有控制器的父類,負責管理一個頁面    

          如:UIViewController基本頁面、UITableViewController表格視圖頁面等

    

     這兩個父類都繼承自UIResponder,稱作響應者(以后介紹)

     UIResponder繼承自NSObject


  • 控制器的基本使用

在MVC設計模式中,控制器負責視圖與模型數據的關聯,完成頁面的邏輯功能


UIViewController中包含一個非常重要的屬性:頁面中的視圖    

@property(nonatomic, retain) UIView *view

代碼創建控制器:

UIViewController * vc = [[UIViewController alloc] init];

     控制器對象vc,即一個App中的頁面,包含一個白色的空白view


設置App的初始頁面(空模板下):

     在AppDelegate文件中找到以下方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

     

在注釋位置添加代碼:

     創建控制器對象,并設置其view的背景顏色

     設置window對象的根控制器(初始頁面)為新建的控制器

     UIKit框架(2)框架簡介

詳細解釋以下 空項目啟動 的代碼過程:

    1)創建一個UIWindow對象,其大小為當前屏幕的大小

    2)創建一個控制器

    3)設置window對象的根控制器(初始頁面)

    4)設置window對象為key window 并顯示


什么是key window?

     即主窗口,同一時刻只有一個窗口是主窗口

     主窗口能夠接收各種事件,如觸摸事件、運動事件、鍵盤事件等。

     UIWindow的父類是UIView


  • 控制器子類

對于UIKit中的使用,一是拿過來直接使用,二是實現子類

     實現子類的好處是:將操作封裝(高內聚低耦合)

控制器子類:

     如UIViewController子類AMViewController

控制器中的幾個應重寫方法:

     init方法:控制器對象被創建后初始化時的調用

          該方法中應當先調用父類方法

          通常在該方法中添加與視圖無關的操作

     viewDidLoad方法:控制器對象管理的view被加載時調用

          該方法中應當先調用父類方法

          通常在該方法中添加與視圖相關的操作

- (void) viewDidLoad {
    [super ViewDidLoad];
    // Do any additional setup after loading the view.
}

     

  • UIView的基本屬性

//背景顏色
@property(nonatomic, copy) UIColor *backgroundColor
//透明度
@property(nonatomic) CGFloat alpha
//視圖對象的ID
@property(nonatomic) NSInteger tag
//是否隱藏
@property(nonatomic, getter=isHidden) BOOL hidden
//所在window
@property(nonatomic, readonly) UIWindow *window



  • UIView的子視圖

UIView是容器對象:

     每一個UIView都是一個容器,能容納其他UIView。

     容納其他UIView的UIView我們稱之為父控件,被容納的UIView我們稱之為子控件。

     子控件的存在依賴于父控件的存在,子控件的位置等屬性是以父控件作為基準的。

     相關屬性:

@property(nonatomic, readonly) UIView *superview
@property(nonatomic, readonly, copy) NSArray *subviews


添加子視圖:

     subview在顯示到屏幕上時,是位于superview上層的 ,添加的方法:

 - (void)addSubview:(UIView *)view

     同一個view的subview是按照加入的順序顯示對應層的,越晚加入的subview顯示在越上層,反之也是如此

     用superview可以直接管理subview的層 。相關方法:

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index
- (void)insertSubview:(UIView *)view aboveSubview:(UIView *)siblingSubview
- (void)insertSubview:(UIView *)view belowSubview:(UIView *)siblingSubview
- (void)bringSubviewToFront:(UIView *)view
- (void)sendSubviewToBack:(UIView *)view
- (void)removeFromSuperview
- (UIView *)viewWithTag:(NSInteger)tag


子視圖的位置及尺寸:    

     UIView對象包含以下與位置及尺寸相關的屬性:

@property(nonatomic) CGRect frame    // frame屬性(以父視圖為坐標原點)
@property(nonatomic) CGRect bounds   // bounds屬性(以自身為坐標原點)
@property(nonatomic) CGPoint center  // center屬性(以俯視圖為坐標原點)
@property(nonatomic) CGAffineTransform transform  // 形變屬性


     視圖的坐標系:

     UIKit框架(2)框架簡介


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舟曲县| 花莲县| 高州市| 雷山县| 基隆市| 鹤庆县| 应城市| 亳州市| 多伦县| 高雄县| 广安市| 徐水县| 四川省| 读书| 儋州市| 绥中县| 楚雄市| 健康| 吉林市| 汉川市| 罗平县| 彭阳县| 温州市| 临沭县| 长丰县| 阳谷县| 铜陵市| 义乌市| 东光县| 青河县| 志丹县| 苍梧县| 濮阳市| 盘山县| 新和县| 习水县| 南陵县| 峨边| 株洲市| 新巴尔虎左旗| 页游|