国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

iOS開發(fā)之使用addChildViewController:給控制器添加子控制器

2019-11-09 18:19:08
字體:
供稿:網(wǎng)友

在iOS5中,ViewController中新添加了下面幾個(gè)方法:

addChildViewController:是UIViewController的一個(gè)方法,iOS5之后加入的,使用這個(gè)方法可以達(dá)到addsubView一樣的效果,而且好處多多

addChildViewController的好處:

1.無疑,對(duì)頁(yè)面中的邏輯更加分明了。相應(yīng)的View對(duì)應(yīng)相應(yīng)的ViewController。 2.當(dāng)某個(gè)子View沒有顯示時(shí),將不會(huì)被Load,減少了內(nèi)存的使用。 3.當(dāng)內(nèi)存緊張時(shí),沒有Load的View將被首先釋放,優(yōu)化了程序的內(nèi)存釋放機(jī)制。

使用addChildViewController的三個(gè)步驟

1.addChildViewController:的同時(shí)調(diào)用addSubView:

[self addChildViewController:sfViewControllr]; [self.view addSubview:sfViewControllr.view];

2.設(shè)置子視圖的位置,并顯示出來

sfViewControllr.view.frame = CGRectMake(0, 300, 1, 1); [sfViewControllr didMoveToParentViewController:self];

3.移除子視圖

[sfViewControllr willMoveToParentViewController:nil]; [sfViewControllr removeFromParentViewController]; [sfViewControllr.view removeFromSuperview];

可能遇到的問題: 如果在子Controller中,把自己從父Controller中移除,在ios6中沒問題,在iOS7中,會(huì)崩潰

[self willMoveToParentViewController:nil];[self.view removeFromSuperview];[self removeFromParentViewController]; //ios7中崩潰

暫時(shí)的解決方法,在子Controller中發(fā)通知,通知父Controller,移除子Controller


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 天长市| 富阳市| 普洱| 沙雅县| 拜城县| 吉首市| 正宁县| 罗城| 康定县| 曲麻莱县| 江永县| 临朐县| 布尔津县| 安塞县| 吴川市| 临沭县| 江都市| 辽宁省| 哈密市| 邵阳县| 天镇县| 乐至县| 金湖县| 茶陵县| 肃南| 大连市| 浮梁县| 河源市| 迁西县| 滨海县| 新泰市| 大埔县| 通城县| 乌鲁木齐县| 云浮市| 扎兰屯市| 班玛县| 孝感市| 耿马| 西平县| 天气|