在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ù)。
本篇文章介紹一下控制器的三種主要創(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
從xib中加載
xib設(shè)計(jì)控制器的view,有以下兩種方式:
方法一:
可以在xib中放置控制器,如:
代碼中仍然使用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為控制器子類
右鍵File’s owner,view屬性連線到xib中的view對象
代碼中使用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://m.rwnh.cn/article10/jepedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、移動網(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)請盡快告知,我們將會在第一時(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)