CNLiveConfigManager.swift
3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//
// CNLiveConfigManager.swift
// metaCode
//
// Created by open on 2023/6/5.
//
import Foundation
class ConfigManager : NSObject {
static let shared = ConfigManager()
public var show_update:Bool = true//可以进行显示更新
public var keyboardDisplayHeight : CGFloat = 0
private override init() {
super.init()
NotificationCenter.default.addObserver(self, selector: #selector(keyboardDidShowNotification), name: UIResponder.keyboardDidShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardDidChangeFrameNotification), name: UIResponder.keyboardDidChangeFrameNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardDidHideNotification), name: UIResponder.keyboardDidHideNotification, object: nil)
}
deinit {
NotificationCenter.default.removeObserver(self, name: UIResponder.keyboardDidShowNotification, object: nil)
NotificationCenter.default.removeObserver(self, name: UIResponder.keyboardDidChangeFrameNotification, object: nil)
NotificationCenter.default.removeObserver(self, name: UIResponder.keyboardDidHideNotification, object: nil)
}
override class func copy() -> Any {
return self
}
override class func mutableCopy() -> Any {
return self
}
@objc private func keyboardDidShowNotification(notification : Notification) {
let keyboardValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue
ConfigManager.shared.keyboardDisplayHeight = keyboardValue?.cgRectValue.size.height ?? 0
}
@objc private func keyboardDidChangeFrameNotification(notification : Notification) {
let keyboardValue = notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as? NSValue
ConfigManager.shared.keyboardDisplayHeight = keyboardValue?.cgRectValue.size.height ?? 0
}
@objc private func keyboardDidHideNotification(notification : Notification) {
ConfigManager.shared.keyboardDisplayHeight = 0
}
}
extension Notification.Name {
struct StandAuth {
//认证身份成功通知
public static let StandAuthNotificationSuccess = Notification.Name("StandAuthNotificationSuccess")
//认证身份失败通知
public static let StandAuthNotificationUnSuccess = Notification.Name("StandAuthNotificationUnSuccess")
//认证身份排序通知
public static let StandAuthSortNotificationResult = Notification.Name("StandAuthSortNotificationResult")
}
struct NetworkStatus {
//无网状态通知
public static let CNLiveNetworkStatusNotificationNotReachable = Notification.Name("CNLiveNetworkStatusNotificationNotReachable")
//网络未知状态通知
public static let CNLiveNetworkStatusNotificationUnknown = Notification.Name("CNLiveNetworkStatusNotificationUnknown")
//蜂窝数据状态通知
public static let CNLiveNetworkStatusNotificationReachableViaWWAN = Notification.Name("CNLiveNetworkStatusNotificationReachableViaWWAN")
//WIFI状态通知
public static let CNLiveNetworkStatusNotificationReachableViaWiFi = Notification.Name("CNLiveNetworkStatusNotificationReachableViaWiFi")
}
}