iOS_Controller

UIViewController

UIViewController繼承了UIResponder,而UIResponder繼承了NSObject,UIViewController是所有視圖控制器的父類。

在MVC模式中,UIViewController扮演C(controller)的角色,控制視圖以及模型的操作。

如果新建工程或新建ViewController時關(guān)聯(lián)了.xib文件稿湿,則在viewDidLoad方法中進行一些初始化工作,如果手動加載.xib視圖押赊,則需要從loadView中進行視圖控制器的創(chuàng)建工作饺藤。

ViewController的簡單生命周期:
loadView:創(chuàng)建視圖控制器(如果不是從.xib加載)
viewDidLoad:視圖已加載
viewWillAppear:視圖加載前運行
viewWillDisappear:視圖消失前(被關(guān)閉或覆蓋)運行
willRotateToInterfaceOrientation:duration:開始旋轉(zhuǎn)時運行
didRotateToInterfaceOrientation:旋轉(zhuǎn)結(jié)束時運行

loadView和viewDidLoad的區(qū)別:
loadView在視圖初始化的時候調(diào)用,應(yīng)用開啟后只調(diào)用一次
viewDidLoad在每次進入一個視圖的時候都會調(diào)用

presentViewController 跳轉(zhuǎn)到下一個Controller
dismissViewController 隱藏當(dāng)前Controller

UINavigationController

帶有導(dǎo)航條的Controller,使用堆棧的方式進行管理Controller

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

ViewController *home = [[ViewController alloc] init];
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:home];
home.title = @"Dribbble";
[self.window setRootViewController:navController];
[self.window makeKeyAndVisible];
return YES;
}

Controller 進行跳轉(zhuǎn)

ShotDetailsController *shotsDetailVC = [[ShotDetailsController alloc] init];
shotsDetailVC.shotDetilsDic = [shots objectAtIndex:indexPath.row];
UIBarButtonItem *backItem = [[UIBarButtonItem alloc] init];
backItem.title = @"返回";
self.navigationItem.backBarButtonItem = backItem;
[self.navigationController pushViewController:shotsDetailVC animated:YES];

pushViewControllerAnimated:方法將視圖控制器推入棧頂流礁,
popViewControllerAnimated:方法將視圖控制器彈出堆棧涕俗。

UITabBarController

UITabBarController是選項卡欄導(dǎo)航控制器,顯示效果是在頁面底部有多個選項卡神帅,通過點擊不同選項卡可以在不同的ViewController之間進行切換再姑。

這種對象的層次結(jié)構(gòu)至少包含6個對象:
一個UITabBarController;
兩個UIViewController找御;
一個UITabBar元镀;
兩個UITabBarItem;
UITabBarController是選項卡欄視圖控制器霎桅,UITabBar是底部兩個UITabBarItem的容器栖疑,管理兩個UITabBarItem,每個UITabBarItem對應(yīng)一個UIViewController滔驶,然后每個UIViewController都有自己的視圖和視圖控制器遇革。

UITabBarController中有一個viewControllers屬性,這是一個NSArray揭糕,包含選項卡控制器的視圖控制器

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末萝快,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子著角,更是在濱河造成了極大的恐慌杠巡,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雇寇,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機锨侯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門嫩海,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人囚痴,你說我怎么就攤上這事叁怪。” “怎么了深滚?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵奕谭,是天一觀的道長。 經(jīng)常有香客問我痴荐,道長血柳,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任生兆,我火速辦了婚禮难捌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘鸦难。我一直安慰自己根吁,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布合蔽。 她就那樣靜靜地躺著击敌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拴事。 梳的紋絲不亂的頭發(fā)上沃斤,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音挤聘,去河邊找鬼轰枝。 笑死,一個胖子當(dāng)著我的面吹牛组去,可吹牛的內(nèi)容都是我干的鞍陨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼从隆,長吁一口氣:“原來是場噩夢啊……” “哼诚撵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起键闺,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤寿烟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后辛燥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筛武,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡缝其,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了徘六。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片内边。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖待锈,靈堂內(nèi)的尸體忽然破棺而出漠其,到底是詐尸還是另有隱情,我是刑警寧澤竿音,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布和屎,位于F島的核電站,受9級特大地震影響春瞬,放射性物質(zhì)發(fā)生泄漏柴信。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一快鱼、第九天 我趴在偏房一處隱蔽的房頂上張望颠印。 院中可真熱鬧,春花似錦抹竹、人聲如沸线罕。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钞楼。三九已至,卻和暖如春袄琳,著一層夾襖步出監(jiān)牢的瞬間询件,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工唆樊, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宛琅,地道東北人。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓逗旁,卻偏偏與公主長得像嘿辟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子片效,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容