1,UINavigationBar、UIToolbar 和 UITabBar 相關(guān)屬性背景設(shè)置:
從 iOS 15 開始,UINavigationBar 使用UINavigationBar.scrollEdgeAppearance配置相關(guān)屬性-背景、字體等。
if #available(iOS 15.0, *) {
let navBarAppearance = UINavigationBarAppearance()
// 背景色
navBarAppearance.backgroundColor = UIColor.clear
// 去掉半透明效果
navBarAppearance.backgroundEffect = nil
// 去除導(dǎo)航欄陰影(如果不設(shè)置clear,導(dǎo)航欄底下會(huì)有一條陰影線)
navBarAppearance.shadowColor = UIColor.clear
// 字體顏色
navBarAppearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
self.navigationController?.navigationBar.scrollEdgeAppearance = navBarAppearance
}
2,TableView 的適配
從 iOS 15 開始,TableView 增加sectionHeaderTopPadding屬性,默認(rèn)情況sectionHeaderTopPadding會(huì)有22個(gè)像素的高度。
if #available(iOS 15.0, *) {
self.tableView.sectionHeaderTopPadding = 0
}
3,增加UISheetPresentationController,通過它可以控制 Modal 出來的 UIViewController 的顯示大小,且可以通過拖拽手勢在不同大小之間進(jìn)行切換。
UISheetPresentationController *presentation = [UISheetPresentationController new];
// 顯示時(shí)支持的尺寸
presentation.detents = @[UISheetPresentationControllerDetent.largeDetent,UISheetPresentationControllerDetent.mediumDetent]
// 顯示一個(gè)指示器表示可以拖拽調(diào)整大小
presentation.prefersGrabberVisible = YES;
4,推出CLLocationButton用于一次性定位授權(quán),該內(nèi)容內(nèi)置于CoreLocationUI模塊,但如果需要獲取定位的詳細(xì)信息仍然需要借助于CoreLocation。
5,URLSession 推出支持 async/await 的 API,包括獲取數(shù)據(jù)、上傳與下載。