EachNavigationBar 是一個能夠自定義iOS導航欄的開源插件。
源碼托管在github上,大家可自行搜索查看。本文就不貼鏈接了。
EachNavigationBar 功能能夠支撐日常使用,支持大標題等功能。
上一篇博文也提及到EachNavigationBar使用中遇到的一些問題:
EachNavigationBar 導航欄顏色與給定顏色不相同設定
筆者在后續使用中,有發現一個新的問題,push和pop跳轉的時候,頁面在出現和消失的動畫開始前,導航欄的右上角會出現短暫的黑色陰影。
這個問題在使用EachNavigationBar時候會出現,甚至使用原生導航欄也會出現。
當筆者在頁面隱藏 導航欄的時候,進行push和pop操作,push到的頁面設置顯示導航欄的, 在此情況下push和pop,黑色陰影沒有出現。
然后筆者做了一些操作,查看究竟什么地方出現該問題。
大家看到這里,應該也看到黑邊的樣子了。在操作的時候會出現右側黑框。
解決辦法:?
臨時解決辦法。
將nav_bar設置成不透明?
navigation_bar.translucent=NO;
效果如下:
還有第二種方法:
- (void)viewWillDisappear:(BOOL)animated{
? ? [super viewWillDisappear:animated];
? ? [self.navigationController setNavigationBarHidden:NO animated:NO];
}
- (void)viewWillAppear:(BOOL)animated{
? ? [super viewWillAppear:animated];
? ? [self.navigationController setNavigationBarHidden:YES animated:YES];
}
還有第三種隱藏方法:
但是不是每個人都適用,有點欺騙性,哈哈,你們可以按照你們的項目自行選擇。
?------ 直接在appdelegate里面的didFinishLaunchingWithOptions方法里面設置window的背景顏色
self.window.backgroundColor = [UIColor whiteColor];
最后其實還有一種方案:
就是在GitHub上,有一個算是全自定義的導航欄,而且該導航欄也支撐大標題、滑動縮減等功能, Star已有2K左右了,名字我這就不貼上來了。大家可自行搜索,很容易搜索出來的。