国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 贵阳市| 买车| 手游| 来凤县| 蒙山县| 辛集市| 长子县| 萨嘎县| 衡水市| 庄浪县| 常州市| 新宁县| 即墨市| 钟山县| 西华县| 金门县| 瑞金市| 灵川县| 合阳县| 大姚县| 遂溪县| 亳州市| 琼中| 三明市| 永寿县| 洮南市| 德格县| 新竹县| 漳州市| 济阳县| 和林格尔县| 翼城县| 个旧市| 合作市| 南郑县| 界首市| 如皋市| 石城县| 竹山县| 曲水县| 大余县|