How can I observe user device theme when user changes theme using RxSwift? I already wrote with this code but it doesn't trigger when user changes theme.
UIScreen.main
.traitCollection
.rx
.observe(UIUserInterfaceStyle.self, "userInterfaceStyle")
.debug()
.subscribe(onNext: { (userTheme) in
print(userTheme)
}).disposed(by: disposeBag)
and also I how can I create Observable in Reactive Extension? I already Wrote this code but it doesn't work.
@available(iOS 13.0, *)
extension Reactive where Base: UITraitCollection {
var deviceTheme: Observable<UIUserInterfaceStyle?> {
return UIScreen.main.rx.observe(UIUserInterfaceStyle.self, #keyPath(UITraitCollection.userInterfaceStyle), options: .new, retainSelf: true)
}
}