關(guān)于NavigationBar透明屬性問題

Translucent

關(guān)于這個(gè)NavigationBar透明屬性問題其實(shí)很早就接觸到了,可能是過了太久沒怎么接觸UI,一些細(xì)節(jié)沒法一下想到位,在此記錄下,方便以后查閱!

當(dāng)設(shè)置translucent = YES的時(shí)候。controller中self.view的原點(diǎn)是從導(dǎo)航欄左上角開始計(jì)算

當(dāng)設(shè)置translucent = NO的時(shí)候。controller中self.view的原點(diǎn)是從導(dǎo)航欄左下角開始計(jì)算

AutomaticallyAdjustsScrollViewInsets

controller默認(rèn)的automaticallyAdjustsScrollViewInsets屬性為YES,這個(gè)屬性的一般與默認(rèn)的transluent一起使用,self.view上的scrollView視圖會(huì)自動(dòng)調(diào)節(jié)其內(nèi)部的contentInset以達(dá)到scrollView前面的內(nèi)容不會(huì)被navigationBar遮?。ㄒ?yàn)楫?dāng)transluent為YES的時(shí)候,設(shè)置坐標(biāo)原點(diǎn)是從屏幕頂部開始)

Edges

其實(shí)很早以前開發(fā)的時(shí)候,遇到這個(gè)問題比較模棱倆可,主要是因?yàn)閚aigationBar的translucent屬性在整個(gè)項(xiàng)目中不一定是一個(gè)固定的值(尤其是在設(shè)置子控件高度的情況下),遇到這種情況,可以借助Edges解決,當(dāng)然默認(rèn)的automaticallyAdjustsScrollViewInsets是為YES的,translucents就不需要管了

[self.tableViewmas_makeConstraints:^(MASConstraintMaker*make) {

make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(0,0,0,0));

}];

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容