增加换肤功能
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import UIKit
|
||||
|
||||
extension UIWindow {
|
||||
public func t_makeKeyAndVisible() {
|
||||
if #available(iOS 13.0, *) {
|
||||
for windowScene in UIApplication.shared.connectedScenes {
|
||||
if windowScene.activationState == UIScene.ActivationState.foregroundActive ||
|
||||
windowScene.activationState == UIScene.ActivationState.background {
|
||||
self.windowScene = windowScene as? UIWindowScene
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
self.makeKeyAndVisible()
|
||||
}
|
||||
|
||||
static func getKeyWindow() -> UIWindow? {
|
||||
var keyWindow: UIWindow?
|
||||
if #available(iOS 13, *) {
|
||||
keyWindow = UIApplication.shared.connectedScenes
|
||||
.filter({ $0.activationState == .foregroundActive })
|
||||
.compactMap { $0 as? UIWindowScene }
|
||||
.flatMap { $0.windows }
|
||||
.first(where: { $0.isKeyWindow })
|
||||
} else {
|
||||
keyWindow = UIApplication.shared.keyWindow
|
||||
}
|
||||
return keyWindow
|
||||
}
|
||||
|
||||
static func getTopFullscreenWindow() -> UIWindow? {
|
||||
let topWindow = UIApplication.shared.windows
|
||||
.filter { !$0.isHidden && $0.bounds.equalTo(UIScreen.main.bounds) }
|
||||
.max(by: { $0.windowLevel.rawValue < $1.windowLevel.rawValue })
|
||||
|
||||
return topWindow
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user