UIKit框架(5)控制器的創(chuàng)建

在UIKit中,UIViewController及其子類描述視圖控制器,即一個(gè)頁面

成都創(chuàng)新互聯(lián)公司專注于巨野網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供巨野營銷型網(wǎng)站建設(shè),巨野網(wǎng)站制作、巨野網(wǎng)頁設(shè)計(jì)、巨野網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造巨野網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供巨野網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

本篇文章介紹一下控制器的三種主要?jiǎng)?chuàng)建方式

  • 純代碼創(chuàng)建

即:alloc+init方式,如:

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

  • 從storyboard中加載

 a. 創(chuàng)建UIStoryboard對象

+ (UIStoryboard *)storyboardWithName:(NSString *)name bundle:(NSBundle*)storyboardBundleOrNil

    name參數(shù):storyboard文件名,不包含擴(kuò)展名

    storyboardBundleOrNil參數(shù):傳nil即可

b. 從UIStoryboard對象中獲取控制器對象

- (id)instantiateInitialViewController  //取出唯一的初始控制器
- (id)instantiateViewControllerWithIdentifier:(NSString *)identifier //按照ID

如:

UIStoryboard * stoyrboard = [UIStoryboard storyboardWithName:@"main" bundle:nil];
//AMViewController *vc = [stoyrboard instantiateInitialViewController];
AMViewController *vc = [stoyrboard instantiateViewControllerWithIdentifier:@"redViewController"];

控制器的ID:在storyboard文件中可以設(shè)計(jì)多個(gè)控制器,每個(gè)控制器可以管理一個(gè)ID

    UIKit框架(5)控制器的創(chuàng)建

  • 從xib中加載

xib設(shè)計(jì)控制器的view,有以下兩種方式:

方法一:

     可以在xib中放置控制器,如:

     UIKit框架(5)控制器的創(chuàng)建

     代碼中仍然使用NSBundle的loadNibNamed:從Nib中創(chuàng)建

     設(shè)計(jì)的控制器,同樣可以設(shè)置關(guān)聯(lián)的子類類型

- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options

    name參數(shù):傳遞xib文件的文件名(不帶后綴名)

    其余參數(shù)傳nil使用默認(rèn)值即可

    返回值:為該xib文件中所有對象的數(shù)組,一般一個(gè)xib文件只設(shè)計(jì)一個(gè)對象

如:

AMViewController * vc = [[[NSBundle mainBundle] loadNibNamed:@"xxx"] lastObject];

方法二:

     在xib中仍然放置一個(gè)view,選則xib中的File’s owner ,設(shè)置class為控制器子類

     UIKit框架(5)控制器的創(chuàng)建      UIKit框架(5)控制器的創(chuàng)建

     右鍵File’s owner,view屬性連線到xib中的view對象

     UIKit框架(5)控制器的創(chuàng)建

     代碼中使用UIViewController的一下init方法從xib中創(chuàng)建其view

- (instancetype)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle

     nibName參數(shù):xib文件名,不包括后綴名

     nibBundle參數(shù):傳nil即可

如:

AMViewController * vc = [[AMViewController alloc] initWithNibName:@"view" bundle:nil];

網(wǎng)站題目:UIKit框架(5)控制器的創(chuàng)建
標(biāo)題路徑:http://muchs.cn/article10/jepedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、商城網(wǎng)站、定制開發(fā)、網(wǎng)站導(dǎo)航、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)