詳解 iOS navigationBar 的設(shè)置問題

在iOS7之后,self.navigationController.navigationBar.translucent = NO 把導(dǎo)航條這個(gè)屬性設(shè)置為no之后专普,坐標(biāo)怎么向下移動(dòng)了64個(gè)像素點(diǎn)古胆?

由于我要改變導(dǎo)航條的顏色甩骏,然后設(shè)置之后發(fā)現(xiàn)導(dǎo)航條的顏色設(shè)置后并不準(zhǔn)確揖庄,于是把????self.navigationController.navigationBar.translucent = NO??這個(gè)屬性設(shè)置為no诈皿,但是發(fā)現(xiàn)之前所有控件的坐標(biāo)都往下移了溪猿,是因?yàn)閷?dǎo)航條不透明的時(shí)候坐標(biāo)的(0钩杰,0)點(diǎn)在屏幕(0,64)這個(gè)位置么诊县?該怎么設(shè)置敖才?難道以前兩個(gè)月寫的代碼坐標(biāo)全都改一下么依痊?

iOS7之后由于navigationBar.translucent默認(rèn)是YES避除,坐標(biāo)零點(diǎn)默認(rèn)在(0,0)點(diǎn)??當(dāng)不透明的時(shí)候胸嘁,零點(diǎn)坐標(biāo)在(0瓶摆,64);如果你想設(shè)置成透明的性宏,而且還要零點(diǎn)從(0群井,64)開始,那就添加:self.edgesForExtendedLayout = UIRectEdgeNone; 但是目前的需求是:但是我想設(shè)置成不透明的毫胜,還從(0书斜,0)開始。對(duì)于目前的需要要這樣設(shè)置

self.extendedLayoutIncludesOpaqueBars = YES;就可以了酵使。

默認(rèn)navigationBar的是半透明荐吉,那么它半透明是為了什么?答案是為了可以隱約看到Bar后面的內(nèi)容口渔,iOS7以上玩多了的人應(yīng)該有注意到這個(gè)問題吧样屠。好了,默認(rèn)是半透明缺脉,看官方的圖片痪欲,在Bar下方的scrollviewB的frame如果從(0,0)開始,那么我們滾動(dòng)的內(nèi)容從即使?jié)L動(dòng)到Top的位置攻礼,還是可以隱隱約約的看到业踢。

最后一個(gè)介紹的新屬性是extendedLayoutIncludesOpaqueBars,這個(gè)屬性指定了當(dāng)Bar使用了不透明圖片時(shí)秘蛔,視圖是否延伸至Bar所在區(qū)域,默認(rèn)值時(shí)NO傍衡。

我設(shè)置self.navigationController.navigationBar.translucent = YES; self.view是以(0深员,0)為origin,然后設(shè)置scrollview的frame = self.view蛙埂,但是scrollView發(fā)生了44的偏移倦畅,搞了一下午沒解決,看了這篇文章后在viewWillAppear里面加了句self.automaticallyAdjustsScrollViewInsets = NO; 問題一下子就解決了绣的。

補(bǔ)充下:NavigationBar的常用設(shè)置:

self.edgesForExtendedLayout = UIRectEdgeNone;

self.extendedLayoutIncludesOpaqueBars =NO;

self.modalPresentationCapturesStatusBarAppearance =NO;

self.navigationController.navigationBar.translucent =NO;

self.automaticallyAdjustsScrollViewInsets = NO

在IOS7以后 ViewController 開始使用全屏布局的叠赐,而且是默認(rèn)的行為通常涉及到布局

就離不開這個(gè)屬性edgesForExtendedLayout欲账,它是一個(gè)類型為UIExtendedEdge的屬性,

指定邊緣要延伸的方向芭概,它的默認(rèn)值很自然地是UIRectEdgeAll赛不,四周邊緣均延伸,就是說罢洲,

如果即使視圖中上有navigationBar踢故,下有tabBar,那么視圖仍會(huì)延伸覆蓋到四周的區(qū)域惹苗。

因?yàn)橐话銥榱瞬蛔宼ableView 不延伸到 navigationBar 下面殿较, 屬性設(shè)置為?UIRectEdgeNone

UIRectEdgeAll -- default

UIRectEdgeNone

這時(shí)會(huì)發(fā)現(xiàn)導(dǎo)航欄變灰了,處理如下就OK了

self.navigationController.navigationBar.translucent=NO;

那?automaticallyAdjustsScrollViewInsets 呢桩蓉?

當(dāng)?automaticallyAdjustsScrollViewInsets 為 NO 時(shí)淋纲,tableview 是從屏幕的最上邊開始,也就是被

導(dǎo)航欄 & 狀態(tài)欄覆蓋

當(dāng)?automaticallyAdjustsScrollViewInsets 為 YES 時(shí)院究,也是默認(rèn)行為洽瞬,表現(xiàn)就比較正常了,和

edgesForExtendedLayout =?UIRectEdgeNone 有啥區(qū)別儡首? 不注意可能很難覺察

設(shè)計(jì)師可能一眼就看穿片任。。蔬胯。?automaticallyAdjustsScrollViewInsets 為YES 時(shí)对供,

tableView 上下滑動(dòng)時(shí),是可以穿過導(dǎo)航欄&狀態(tài)欄的氛濒,在他們下面有淡淡的淺淺紅色

extendedLayoutIncludesOpaqueBars

首先看下官方解釋产场,默認(rèn) NO, 但是Bar 的默認(rèn)屬性是 透明的舞竿。京景。。也就是說只有在不透明下才有用

但是骗奖,測(cè)試結(jié)果很軟肋确徙,基本區(qū)別不大。执桌。鄙皇。但是對(duì)于解決一些Bug 是還是起作用的,比如說SearchBar的

跳動(dòng)問題仰挣,詳情見:http://www.cnblogs.com/skyming/p/4059128.html伴逸, 其他UITableView,UIScrollView 位置的

問題多數(shù)和這3屬性相關(guān)。膘壶。

參考文章:

http://www.cocoachina.com/bbs/read.php?tid-298675-page-1.html

http://www.cocoachina.com/bbs/read.php?tid=280826

http://www.vinqon.com/codeblog/?detail/11109

http://www.geekcome.com/content-10-10502-1.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末错蝴,一起剝皮案震驚了整個(gè)濱河市洲愤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌顷锰,老刑警劉巖柬赐,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異馍惹,居然都是意外死亡躺率,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門万矾,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悼吱,“玉大人,你說我怎么就攤上這事良狈『筇恚” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵薪丁,是天一觀的道長(zhǎng)遇西。 經(jīng)常有香客問我,道長(zhǎng)严嗜,這世上最難降的妖魔是什么粱檀? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮漫玄,結(jié)果婚禮上茄蚯,老公的妹妹穿的比我還像新娘。我一直安慰自己睦优,他們只是感情好渗常,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汗盘,像睡著了一般皱碘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上隐孽,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天癌椿,我揣著相機(jī)與錄音,去河邊找鬼菱阵。 笑死踢俄,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的送粱。 我是一名探鬼主播褪贵,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼掂之,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼抗俄!你這毒婦竟也來了脆丁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤动雹,失蹤者是張志新(化名)和其女友劉穎槽卫,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胰蝠,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡歼培,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了茸塞。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片躲庄。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖钾虐,靈堂內(nèi)的尸體忽然破棺而出噪窘,到底是詐尸還是另有隱情,我是刑警寧澤效扫,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布倔监,位于F島的核電站,受9級(jí)特大地震影響菌仁,放射性物質(zhì)發(fā)生泄漏浩习。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一济丘、第九天 我趴在偏房一處隱蔽的房頂上張望谱秽。 院中可真熱鬧,春花似錦闪盔、人聲如沸弯院。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)听绳。三九已至,卻和暖如春异赫,著一層夾襖步出監(jiān)牢的瞬間椅挣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工塔拳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鼠证,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓靠抑,卻偏偏與公主長(zhǎng)得像量九,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

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