addChildViewController 的作用以及 BUG

蘋(píng)果的文檔是這樣說(shuō)的:

This method creates a parent-child relationship between the current view controller and the object in thechildController parameter. This relationship is necessary when embedding the child view controller’s view into the current view controller’s content. If the new child view controller is already the child of a container view controller, it is removed from that container before being added.
This method is only intended to be called by an implementation of a custom container view controller. If you override this method, you must callsuper in your implementation.

大意就是要求,如果 B VC 的 view 作為 A VC 的 view 的 subView.那么也應(yīng)該調(diào)用 addChildViewController 把B VC 設(shè)置為 A VC 的 childViewController.

這樣做有幾個(gè)好處:

  1. 在 A VC 參與 ViewController 跳轉(zhuǎn)的時(shí)候,可以把生命周期回調(diào)(viewDidLoad viewWillAppear 等)傳給 B VC.
  2. B VC 可以拿到 A VC 的 navigationItem 等對(duì)象,方便控制.
  3. B VC 的 view 的 frame 受到 A VC 的控制.

這樣一看好處不少,但是有個(gè)坑.
平時(shí)Status Bar 的高度是20px, 但是打電話或者錄音的時(shí)候再進(jìn)入 app,Status Bar 高度會(huì)變成40px. 這個(gè)時(shí)候,系統(tǒng)會(huì)自動(dòng)把 UIWindow 的 rootViewController.view 下移20px.
但是不知道為什么,調(diào)用addChildViewController以后,B VC 的view 也會(huì)下移20px, 這樣以來(lái), StatusBar 高度增加了20px, 但是 B VC 累計(jì)向下移動(dòng)了40px就導(dǎo)致 B VC 與 StatusBar 之間有一個(gè)20px 的空隙,并且通話結(jié)束后不會(huì)恢復(fù).

所以,addChildViewController 以后,還是要手動(dòng)設(shè)置一下 B VC 的 view 的 frame 來(lái)避免這個(gè) BUG.

http://stackoverflow.com/questions/17192005/what-does-addchildviewcontroller-actually-do

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市于樟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌血当,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,681評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件禀忆,死亡現(xiàn)場(chǎng)離奇詭異臊旭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)箩退,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)离熏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人乏德,你說(shuō)我怎么就攤上這事》驼眩” “怎么了喊括?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,421評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)矢棚。 經(jīng)常有香客問(wèn)我郑什,道長(zhǎng),這世上最難降的妖魔是什么蒲肋? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,114評(píng)論 1 300
  • 正文 為了忘掉前任蘑拯,我火速辦了婚禮,結(jié)果婚禮上兜粘,老公的妹妹穿的比我還像新娘申窘。我一直安慰自己,他們只是感情好孔轴,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,116評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布剃法。 她就那樣靜靜地躺著,像睡著了一般路鹰。 火紅的嫁衣襯著肌膚如雪贷洲。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,713評(píng)論 1 312
  • 那天晋柱,我揣著相機(jī)與錄音优构,去河邊找鬼。 笑死雁竞,一個(gè)胖子當(dāng)著我的面吹牛钦椭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 41,170評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼玉凯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼势腮!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起漫仆,我...
    開(kāi)封第一講書(shū)人閱讀 40,116評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤捎拯,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后盲厌,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體署照,經(jīng)...
    沈念sama閱讀 46,651評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,714評(píng)論 3 342
  • 正文 我和宋清朗相戀三年吗浩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了建芙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,865評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡懂扼,死狀恐怖禁荸,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情阀湿,我是刑警寧澤赶熟,帶...
    沈念sama閱讀 36,527評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站陷嘴,受9級(jí)特大地震影響映砖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜灾挨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,211評(píng)論 3 336
  • 文/蒙蒙 一邑退、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧劳澄,春花似錦地技、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,699評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至溯警,卻和暖如春趣苏,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背梯轻。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,814評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工食磕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喳挑。 一個(gè)月前我還...
    沈念sama閱讀 49,299評(píng)論 3 379
  • 正文 我出身青樓彬伦,卻偏偏與公主長(zhǎng)得像滔悉,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子单绑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,870評(píng)論 2 361

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

  • /* UIViewController is a generic controller base class th...
    DanDanC閱讀 1,823評(píng)論 0 2
  • ViewsBecause view objects are the main way your applicati...
    梁光飛閱讀 610評(píng)論 0 0
  • 最近在Upwork上折騰了一個(gè)賬號(hào)回官,覺(jué)得這個(gè)平臺(tái)還挺靠譜,雖然中間費(fèi)高了一些搂橙,但是流程和規(guī)則很清楚歉提,有安全保障,也...
    郭舒簡(jiǎn)閱讀 11,911評(píng)論 2 18
  • x Simple, given a string of words, return the length of t...
    偉健Wiken閱讀 623評(píng)論 0 0
  • 嚴(yán)于律己的堅(jiān)持 極簡(jiǎn)主義的厚愛(ài) 節(jié)制有度的把握 天真爛漫的笑容 挺拔緊致的身姿 自信從容的談吐 優(yōu)雅舒緩的氣質(zhì) 云...
    白亦舒閱讀 207評(píng)論 0 0