應(yīng)用場(chǎng)景
- 在 APP 的生命周期中她倘,可以顯示提示頁(yè)面或者自定義彈框時(shí)擂找。
- 或者想要獲取到視圖的根控制器做其他處理時(shí)迄损。
就需要先獲取 Window 視圖奈应,在這個(gè)視圖上做顯示提示頁(yè)面或者自定義彈框澜掩。
核心邏輯/代碼
使用獲取 Window 的函數(shù)代碼。需要注意的是杖挣,在 iOS 11 之前和之后肩榕,獲取 Window 的函數(shù)方法是不同的。
所以在使用時(shí),需要兼容 iOS 11 之前和之后版本株汉。
示例代碼
顯示提示頁(yè)面或者彈框等
// 提示頁(yè)面
let alterView = UIView()
// 顯示 提示頁(yè)面
if #available(iOS 11, *) {
UIApplication.shared.keyWindow?.addSubview(alterView)
} else {
UIApplication.shared.windows.last?.addSubview(alterView)
}
獲取根控制器
// 推送的 控制器
let acVC = UIViewController()
// 根控制器推送
if #available(iOS 11, *) {
UIApplication.shared.keyWindow?.rootViewController?.present(acVC, animated: false, completion: nil)
} else {
UIApplication.shared.windows.last?.rootViewController?.present(acVC, animated: false, completion: nil)
}