iOS 導(dǎo)航欄(UINavigationBar)和狀態(tài)欄(statusBar)重合的問題

iOS7之后兩者合為一體,共用同一個(gè)背景色,導(dǎo)航欄緊跟著狀態(tài)欄布局,也就是導(dǎo)航欄從y=20開始布局.今天遇到奇怪的問題,就是導(dǎo)航欄直接從屏幕頂端開始布局,也就是導(dǎo)航欄和狀態(tài)欄重合在一起了.

看圖:

造成這樣問題的情景是,我有一個(gè)父ViewController,假設(shè)為A,里面有一個(gè)子ViewController,假設(shè)為B. B本身自帶一個(gè)導(dǎo)航控制器.

我有一個(gè)操作,類似手機(jī)QQ主界面導(dǎo)航欄左邊按鈕的功能,就是縮小B,從左邊推出菜單欄,然后點(diǎn)擊菜單欄,push到一個(gè)新的頁面然后返回,回來之后,并且回來的時(shí)候把B的導(dǎo)航欄重新添加了一次,B的導(dǎo)航欄就變成上圖那樣了.

因?yàn)檫@個(gè)時(shí)候B是縮小的,它本身接觸不到狀態(tài)欄,我猜測(cè)系統(tǒng)會(huì)認(rèn)為對(duì)B來說狀態(tài)欄是隱藏的,所以就把B的導(dǎo)航欄上移,直接從主view的頂部開始布局.注意,這里是通過隱藏導(dǎo)航欄又添加把導(dǎo)航欄刷新了一下.否則會(huì)保持原樣.


最后,修改措施是保證B不會(huì)再被縮小的情況下刷新navigationBar,也可能是在和statusBar沒有接觸的情況下.具體的文檔或者官方解釋沒有找到,不知道有人知道確切的原理,上面都只是觀察而已.

這個(gè)問題深究一下是設(shè)計(jì)上的尷尬.UIViewController定位為UIView的控制器,UIView是任意大小的東西,從這個(gè)角度來說UIViewController是不受大小的約束,或說和大小這個(gè)因素是不能夠依賴的.但是像statusBar的樣式 是否顯示,還有橫豎屏的旋轉(zhuǎn)卻又依賴于UIViewController的方法.

如果一個(gè)界面里有多個(gè)UIViewController,從人的心理解讀觸發(fā),我們會(huì)認(rèn)為鋪滿這個(gè)屏幕的這個(gè)界面是主UIViewController,但實(shí)際UIViewController不是根據(jù)大小或者說根據(jù)屏幕的關(guān)系來處理主次的.或許應(yīng)該有個(gè)標(biāo)識(shí)來制定誰(哪個(gè)UIViewController)來負(fù)責(zé)當(dāng)前的狀態(tài)欄\橫豎屏\導(dǎo)航欄之類的全局性質(zhì)的東西的處理.或者狀態(tài)欄這種和整個(gè)app是同一個(gè)層面的東西,不應(yīng)該是viewController來控制,而是任何地方都可以控制,比如做成UIApplication的一個(gè)屬性,我想讓它顯示就顯示,怎么顯示就怎么顯示.

或者,就應(yīng)該存在類似于游戲里場(chǎng)景(scene)的概念,就是我們平常理解的一個(gè)界面.應(yīng)該有這么一個(gè)類,它就是我們當(dāng)前看到的一切,然后它里面有很多的viewController.由他來控制我們看到的唯一的那些東西.比如橫豎屏,因?yàn)関iewController有多個(gè),而橫屏還是豎屏只會(huì)有一個(gè),在級(jí)別上它們是不對(duì)稱的.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绎速,一起剝皮案震驚了整個(gè)濱河市奕锌,隨后出現(xiàn)的幾起案子殖告,更是在濱河造成了極大的恐慌恳邀,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颂砸,死亡現(xiàn)場(chǎng)離奇詭異噪奄,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)人乓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門梗醇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人撒蟀,你說我怎么就攤上這事叙谨。” “怎么了保屯?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵手负,是天一觀的道長涤垫。 經(jīng)常有香客問我,道長竟终,這世上最難降的妖魔是什么蝠猬? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮统捶,結(jié)果婚禮上榆芦,老公的妹妹穿的比我還像新娘。我一直安慰自己喘鸟,他們只是感情好匆绣,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著什黑,像睡著了一般崎淳。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愕把,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天拣凹,我揣著相機(jī)與錄音,去河邊找鬼恨豁。 笑死嚣镜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的橘蜜。 我是一名探鬼主播菊匿,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼扮匠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凡涩,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤棒搜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后活箕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體力麸,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年育韩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了克蚂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡筋讨,死狀恐怖埃叭,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情悉罕,我是刑警寧澤赤屋,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布立镶,位于F島的核電站,受9級(jí)特大地震影響类早,放射性物質(zhì)發(fā)生泄漏媚媒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一涩僻、第九天 我趴在偏房一處隱蔽的房頂上張望缭召。 院中可真熱鬧,春花似錦逆日、人聲如沸嵌巷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晴竞。三九已至,卻和暖如春狠半,著一層夾襖步出監(jiān)牢的瞬間噩死,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國打工神年, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留已维,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓已日,卻偏偏與公主長得像垛耳,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子飘千,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫堂鲜、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,124評(píng)論 4 61
  • github排名https://github.com/trending,github搜索:https://gith...
    小米君的demo閱讀 4,618評(píng)論 2 38
  • 衛(wèi)宣公屬于比較能作的那種护奈,做公子時(shí)誘奸其父衛(wèi)莊公妾夷姜生子伋缔莲,當(dāng)了國君后又強(qiáng)占伋妻,為另立新儲(chǔ)害死了兩個(gè)兒...
    沙漠里的小孩閱讀 2,111評(píng)論 0 0
  • 女人與珠寶總是相得益彰的霉旗。只有女人才能更好的詮釋出珠寶的美痴奏,也只有珠寶才能更好的襯托出女人的美。女為悅己者容厌秒,似乎...
    藝千畫室閱讀 369評(píng)論 1 5
  • “Shortest answer is doing 最簡單的回答就是做”
    Z嘉莉LLLL閱讀 274評(píng)論 0 1