一、導(dǎo)航條
在iOS 13 UINavigationBar新增了scrollEdgeAppearance屬性熬芜,但在iOS 14及更早的版本中此屬性只應(yīng)用在大標(biāo)題導(dǎo)航欄上。在iOS 15中此屬性適用于所有導(dǎo)航欄福稳,導(dǎo)致iOS15系統(tǒng)下之前設(shè)置會(huì)有些失效涎拉,表現(xiàn)情況有透明的有了顏色或者變成白色。
scrollEdgeAppearance:主要針對(duì)視圖中存在滾動(dòng)視圖頂部根據(jù)導(dǎo)航條底部布局的情況的圆。
我遇到的問(wèn)題:就是列表跑到導(dǎo)航條下面去了鼓拧。
我開始用如下代碼
/// 設(shè)置NavigationBar的背景色
- (void)setNavigationBarAppearance
{
UIImage *navBackgroundImage = [UIImage imageWithColor:self.navigationBarBackgroundColor size:self.navigationController.navigationBar.size];
if (@available(iOS 15.0, *)) {
self.navigationBarAppearance = [UINavigationBarAppearance new];
self.navigationBarAppearance.backgroundColor = self.navigationBarBackgroundColor;
self.navigationBarAppearance.backgroundImage = navBackgroundImage;
self.navigationBarAppearance.backgroundEffect = nil;
self.navigationBarAppearance.shadowColor = self.navigationBarBackgroundColor;
self.navigationBarAppearance.titleTextAttributes = @{NSFontAttributeName:[UIFont systemFontOfSize:20.0f],
NSForegroundColorAttributeName:QH_title_color(title_000000_000000)};
self.navigationController.navigationBar.scrollEdgeAppearance = self.navigationBarAppearance;
self.navigationController.navigationBar.standardAppearance = self.navigationBarAppearance;
}else{
//背景色
[self.navigationController.navigationBar setBackgroundImage:navBackgroundImage forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setBarTintColor:[UIColor clearColor]];
[self.navigationController.navigationBar setTitleTextAttributes:
@{NSFontAttributeName:[UIFont systemFontOfSize:20.0f],
NSForegroundColorAttributeName:QH_title_color(title_000000_000000)}];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
}
}
但是沒(méi)有效果,經(jīng)過(guò)檢查發(fā)現(xiàn)是因?yàn)?code>self.navigationController.navigationBar.translucent的問(wèn)題
二越妈、陰影設(shè)置不生效的問(wèn)題
給collectionView設(shè)置陰影怎么都不顯示季俩,frame、masksToBounds等都檢查就是不管用梅掠,經(jīng)過(guò)多方驗(yàn)證种玛,設(shè)置view等的陰影不成功的原因有以下幾種:
1、設(shè)置view
的clipsToBounds
為YES
,我遇到就是這個(gè)collectionView
的clipsToBounds
竟然默認(rèn)就是YES
瓤檐。
2赂韵、view
的backgroundColor
為clearColor
。
3挠蛉、layer
的陰影參數(shù)設(shè)置錯(cuò)誤祭示。
三、iOS15下UITableView頂部多出了一條空白
查資料發(fā)現(xiàn)iOS15 中 UITableView
新加了一個(gè)屬性:sectionHeaderTopPadding
谴古,默認(rèn)值為 automaticDimension
侧巨,就會(huì)導(dǎo)致頂部多出一條空白。
if (@available(iOS 15.0, *)) {
self.tableView.sectionHeaderTopPadding = 0;
}