iOS15更新之后 導(dǎo)航條和tabbar突然就白了?一招教你變回來

問題探究.

造成這個(gè)原因是什么吶?

答: 兩個(gè)因素.

scrollEdgeAppearance 屬性

iOS15 強(qiáng)制適用于所有導(dǎo)航器

當(dāng)導(dǎo)航控制器包含導(dǎo)航欄和滾動(dòng)視圖時(shí),滾動(dòng)視圖的部分內(nèi)容將顯示在導(dǎo)航欄下方。如果滾動(dòng)內(nèi)容的邊緣到達(dá)該欄,UIKit將在此屬性中應(yīng)用外觀設(shè)置。如果此屬性的值為nil,UIKit將使用standardAppearance屬性中的設(shè)置,并修改為使用透明背景。如果沒有導(dǎo)航控制器管理您的導(dǎo)航欄,UIKit將忽略此屬性,并使用導(dǎo)航欄的標(biāo)準(zhǔn)外觀。在使用iOS 14或更低版本的應(yīng)用程序上運(yùn)行時(shí),此屬性適用于標(biāo)題較大的導(dǎo)航欄。在iOS 15中,此屬性適用于所有導(dǎo)航欄。

如何解決.

@NSCopying var scrollEdgeAppearance: UINavigationBarAppearance? { get set }

我們只需要按照UIKit 的最新改動(dòng)進(jìn)行適配就好.如下:

Swift:

let appearance = UINavigationBarAppearance()

appearance.configureWithOpaqueBackground()

appearance.backgroundColor =

navigationBar.standardAppearance = appearance;

navigationBar.scrollEdgeAppearance = navigationBar.standardAppearance

OC:

//ios15新特性默認(rèn)將導(dǎo)航條變透明,以下代碼是ios15新特性,將它變回不透明

? ? if(@available(iOS15.0, *)) {

? ? ? ? UINavigationBarAppearance *appearance = [UINavigationBarAppearance new];

? ? ? ? [appearanceconfigureWithOpaqueBackground];

? ? ? ? appearance.backgroundColor= [UIColorwhiteColor];

//去掉導(dǎo)航欄下的陰影線

? ? ? ? appearance.shadowColor= [UIColorclearColor];

? ? ? ? self.navigationBar.standardAppearance = appearance;

? ? ? ? self.navigationBar.scrollEdgeAppearance=self.navigationBar.standardAppearance;

? ? }


tabbar:

? ? if(@available(iOS15.0, *)) {

? ? ? ? UITabBarAppearance *appearance = [UITabBarAppearance new];

? ? ? ? [appearanceconfigureWithOpaqueBackground];

? ? ? ? appearance.backgroundColor= [UIColorwhiteColor];

? ? ? ? self.tabBar.standardAppearance= appearance;

? ? ? ? self.tabBar.scrollEdgeAppearance = self.tabBar.standardAppearance;

? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • //設(shè)置尺寸為屏幕尺寸的時(shí)候self.window = [[UIWindow alloc] initWithFra...
    LuckTime閱讀 832評(píng)論 0 0
  • 工作了兩年多,一直有個(gè)“壞習(xí)慣”,就是將工作中遇到的一些問題、技巧或心得記在印象筆記里面,按理來說,作為一個(gè)...
    F森閱讀 2,034評(píng)論 3 26
  • 在這里總結(jié)一些iOS開發(fā)中的小技巧,能大大方便我們的開發(fā) 原文地址:http://www.lxweimin.com/...
    Marray閱讀 339評(píng)論 0 0
  • 更新了iOS 15(XCode 13)后,導(dǎo)航欄和Tabbar莫名其妙的改變了,導(dǎo)航欄變成了黑色、Tabbar變成...
    不用什么昵稱了閱讀 3,140評(píng)論 0 1
  • 在這里總結(jié)一些iOS開發(fā)中的小技巧,能大大方便我們的開發(fā),持續(xù)更新。 UITableView的Group樣式下頂部...
    UI愛好者閱讀 527評(píng)論 0 0