最近項目中有個需求,需要將登錄頁導(dǎo)航欄隱藏。其他頁面導(dǎo)航正常顯示。
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計、雨城網(wǎng)絡(luò)推廣、成都微信小程序、雨城網(wǎng)絡(luò)營銷、雨城企業(yè)策劃、雨城品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供雨城建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
自己用demo中嘗試,在viewDidLoad簡單敲下:
首先登陸頁本身會因為導(dǎo)航欄的隱藏而上移。好,重新調(diào)整下頁面位置。
然后在跳轉(zhuǎn)頁面A的時候,A頁面在viewDidLoad設(shè)置:
發(fā)現(xiàn)頁面會整體上移,了解到translucent這個屬性可以調(diào)整controller的view的起始位置
于是再設(shè)置:
然而并沒什么用。
在試:
將self.navigationController.navigationBar.hidden = NO;的方式改掉
驚奇發(fā)現(xiàn)可行。但在項目中這樣設(shè)置仍然不行。
理解到導(dǎo)航欄是頁面共用的,對于導(dǎo)航欄,誰隱藏誰處理,最好在登錄頁做設(shè)置:
好的,問題解決。
假定有 :
UINavigationController : A,
UIViewController : B,
UIViewController : C,
假設(shè)B是A的 rootViewController,B的title就是B,C的title就是C,
如果調(diào)用 [B.navigationController pushViewController:C animated:YES];
進(jìn)入C界面后,導(dǎo)航欄左邊會顯示返回箭頭和標(biāo)題B,如果B太長,我們希望隱藏標(biāo)題B,只顯示返回按鈕,
正確做法是:
B.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleDone target:listVC action:nil];
如果寫成下面的樣子,無法隱藏標(biāo)題B:
1、A.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleDone target:listVC action:nil];
2、C.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStyleDone target:listVC action:nil];
開發(fā)app時經(jīng)常用到的一個基本布局框架就是tabbar+navigation,也就是下方tabbar分模塊,然后在各個模塊中使用導(dǎo)航欄深入到各個界面。
有時候我們需要在跳轉(zhuǎn)到某些界面時隱藏下方的tabbar,怎么做呢,很簡單:
這樣就可以了,其實最后一行不要也能行。
只要在對某個界面設(shè)置隱藏后,從這個界面繼續(xù)深入往下的界面也是會自動隱藏的,不需要對每個都設(shè)置。
這里的bottombar不單單作用于tabbar,其他的bar也是可以的。但一般常用的還是tabbar。
查看作者首頁
您好,隱藏導(dǎo)航欄的命令是
self.navigationController.navigationBarHidden = YES;
如果隱藏了導(dǎo)航欄,狀態(tài)欄仍然會被留出空位而不會遮住下面要顯示的內(nèi)容(但是如果直接添加沒有導(dǎo)航欄控制器的試圖控制器就會將狀態(tài)欄部分也使用)
導(dǎo)航欄不同于其他view,簡單的設(shè)置alpha并不能達(dá)到預(yù)想的效果。我在多次嘗試之后得出一個最有效的方式。
簡單的讓導(dǎo)航欄變透明只需要設(shè)置下面三個屬性:
但是這樣做有個問題,就是返回按鈕和title一起變透明了,解決方法是不要通過alpha來改變透明度,而是通過改變backgroundImage的透明度來實現(xiàn)。如何改變圖片的透明度呢,送上一個方法,你只需要創(chuàng)建一個UIImage的分類,實現(xiàn)這個方法,在需要的時候引入這個分類就可以使用了。
這樣以來,你只需要將你需要的圖片(也許是一張純色)通過 setBackgroundImage:forBarMetrics: 方法設(shè)置為背景圖片即可。
通過view的滾動實現(xiàn)一開始navigationBar隱藏,然后漸顯的效果還難嗎?
不過你可能發(fā)現(xiàn),頁面剛剛顯示還沒有滾動的時候,導(dǎo)航欄又不透明了,如果你不幸遇到這種狀況,其實也很簡單
是不是非常簡單?喜歡的話記得點紅心??啊。也歡迎評論與我交流????
在iOS開發(fā)中通常會做的隱藏狀態(tài)欄或者自定義返回按鈕,相應(yīng)的pop手勢也失效了,下面就需要解決下這個問題。
解決方案:
我們在自定義導(dǎo)航控制器里我們自己的手勢
這樣就可以有效的解決返回pop手勢失效問題
各位看官如果發(fā)現(xiàn)有什么不對的,請留言或者加qq:286349583,一起討論,謝謝!!