在UIKit中,UIViewController及其子類描述視圖控制器,即一個頁面
創(chuàng)新互聯(lián)公司主要從事網(wǎng)頁設計、PC網(wǎng)站建設(電腦版網(wǎng)站建設)、wap網(wǎng)站建設(手機版網(wǎng)站建設)、成都響應式網(wǎng)站建設公司、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、微信小程序開發(fā)等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設行業(yè)積累了豐富的成都做網(wǎng)站、網(wǎng)站建設、網(wǎng)站設計、網(wǎng)絡營銷經(jīng)驗,集策劃、開發(fā)、設計、營銷、管理等多方位專業(yè)化運作于一體。本篇文章介紹一下控制器的三種主要創(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文件名,不包含擴展名
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文件中可以設計多個控制器,每個控制器可以管理一個ID
從xib中加載
xib設計控制器的view,有以下兩種方式:
方法一:
可以在xib中放置控制器,如:
代碼中仍然使用NSBundle的loadNibNamed:從Nib中創(chuàng)建
設計的控制器,同樣可以設置關聯(lián)的子類類型
- (NSArray *)loadNibNamed:(NSString *)name owner:(id)owner options:(NSDictionary *)options
name參數(shù):傳遞xib文件的文件名(不帶后綴名)
其余參數(shù)傳nil使用默認值即可
返回值:為該xib文件中所有對象的數(shù)組,一般一個xib文件只設計一個對象
如:
AMViewController * vc = [[[NSBundle mainBundle] loadNibNamed:@"xxx"] lastObject];
方法二:
在xib中仍然放置一個view,選則xib中的File’s owner ,設置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];
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。