iOS 16 真機調(diào)試時需要在設備的設置 —> 隱私與安全 —> 開發(fā)者模式 中打開開發(fā)者模式。
新增 UICalendarView,可以顯示日期并支持單選與多選日期。
新增 UIPasteControl 用于讀取剪貼板中的內(nèi)容,否則跨 App 讀取時會彈出對話框讓用戶進行選擇是否同意。
新增一個交互 UIEditMenuInteraction,用于取代 UIMenuController 與 UIMenuItem。
新增一個交互 UIFindInteraction 用于文本內(nèi)容查找與替換。
新增 LARightStore 用于存儲與獲取 keychain 中的數(shù)據(jù)。
UIImage 增加了新的構(gòu)造函數(shù)用于支持 SF Symbols 最新版中增加的類別 Variable。
UIPageControl 支持垂直顯示并可以設置指示器與當前頁的圖片。
-
UITableView 與 UICollectionView 在使用 Cell Content Configuration 時支持使用 UIHostingConfiguration 包裝 SwiftUI 代碼定義 Cell 的內(nèi)容。
cell.contentConfiguration = UIHostingConfiguration { HStack { Image(systemName: images[indexPath.row]) .foregroundStyle(.teal) Text(devices[indexPath.row]) .font(.caption) .foregroundStyle(.secondary) } } UITableView 與 UICollectionView 增加了新的
selfSizingInvalidation參數(shù),通過它 Cell 具備自動調(diào)整大小的能力。UINavigationItem 增加了一個屬性
style用于描述 UINavigationItem 在 UINavigationBar 上的布局;增加了一個屬性backAction用于實現(xiàn)當前 UIViewController 的返回按鈕事件;增加了一個屬性titleMenuProvider用于給當前導航欄的標題添加操作菜單。UISheetPresentationController 支持自定義顯示的 UIViewController 的大小。
-
UIMenu 支持設置尺寸,分別為
small、medium與large。let addNewMenu = UIMenu(title: "", preferredElementSize: .small, children: menuActions) 隱私權(quán)限增強,如通過 UIDevice 獲取設備名稱時,無法獲取用戶的信息,只能獲取設備對應的名稱。
UIDevice 不再支持通過
setValue()方法設置設備的方向,替換為 UIWindowScene 的requestGeometryUpdate()方法。為了支持 iOS 鎖屏顯示與 watchOS 表盤顯示,WidgetFamily 增加了新的分類
accessory。UIScreen.main即將被廢棄,建議使用(UIApplication.shared.connectedScenes.first as? UIWindowScene)?.screen。支持 Live Activity,可以理解為一種特殊的鎖屏界面顯示的 Widget。
注:以上新特性均通過代碼測試,內(nèi)容會以專題文章的形式展示。