- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经用 Viewcontroller 和 ViewModel 编写了基于 RxSwift 的模块。 ViewModel 包含手势观察者和图像观察者。一切正常,除了应用程序直接到上述模块的情况。手势订阅不起作用,imageView
变为空白。
它们是根据BehaviorSubjects
在可观察的订阅中设置的,内部 View :
func subscribePhotos(observerable: Observable<[(Int, UIImage?)]>) {
disposeBag = DisposeBag()
observerable.subscribeOnNext { [weak self] array in
array.forEach { identifier, image in
if let pictureView = self?.subviews.first(where: { view -> Bool in
guard let view = view as? PictureView else {
return false
}
return view.identifier == identifier
}) as? PictureView {
pictureView.set(image)
}
}
}.disposed(by: disposeBag)
}
在viewModel中我设置了Observable
:
var imagesObservable: Observable<[(Int, UIImage?)]> {
do {
let collection = try photosSubject.value()
if let photosObservables = collectionCreator?.getPhotosDetailsObservables(identifiers: collection.photoIdentifiers) {
let photosObservable = Observable.combineLatest(photosObservables)
return Observable.combineLatest(photosSubject, photosObservable,
resultSelector: { collection, currentArray -> [(Int, UIImage?)] in
var newArray = [(Int, UIImage?)]()
currentArray.forEach { stringIdentifier, image in
if let picture = grid.pictures.first(where: { $0. stringIdentifier == stringIdentifier }) {
newArray.append((picture.identifier, image))
}
}
return newArray
})
}
} catch { }
return Observable<[(Int, UIImage?)]>.never()
}
}
photosSubject
在 viewModel 的 init 中初始化
photosSubject = BehaviorSubject<PictureCollection>(value: collection)
照片观察
func createImageObservableForAsset(asset: PHAsset, size: CGSize) -> Observable<UIImage?> {
return Observable.create { obs in
PHImageManager.default().requestImage(for: asset,
targetSize: size,
contentMode: .aspectFit,
options: nil,
resultHandler: { image, _ in
obs.onNext(image)
})
return Disposables.create()
}
}
在 ViewController 中,我通过调用 View 方法连接它们:
myView.pictureView.subscribePhotos(observerable: viewModel.imagesObservable)
在didBecameActive
之后,pictureView
的UIImage
类型的属性图像不是nil,但是它们消失了。我可以监听通知 didBecameActive
并在观察者上调用 onNext
,但我不确定这是否是解决问题的正确方法。知道这是什么原因吗?
最佳答案
终于解决了这个问题。 Reason 与 Rx 无关。 didBecomeActive后调用了绘制图片的方法draw(_:CGRect)并清除了myView。我更改了方法的主体,现在一切正常:)
关于ios - didBecomeActive 后的 RxSwift 订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58630696/
我正在使用 willResignActive 通知暂停我的游戏,它似乎暂停了游戏,但是当调用 didBecomeActive 时,它似乎自行取消暂停。 [[NSNotificationCenter
情况是这样的: 我正在使用 imagepicker 选择一个大视频。显然,选择器将花费一些时间来压缩视频。因此,为了简化用户体验,我为其启用了后台任务。 问题来了: 如果用户选择一个视频并点击主页按钮
TL;DR:在 RGUI 和 ESS 中,什么是 didBecomeActive 消息以及如何抑制它们? 在 OSX 10.9.2 中使用 OSX RGUI 3.0.3,控制台显示类似日志消息的内容每
我对 UIViewController 中的以下场景感到非常困惑: 我有以下 @IBOutlet,它在我的 Storyboard 中有一个引用 socket 。 class MainViewContr
我已经用 Viewcontroller 和 ViewModel 编写了基于 RxSwift 的模块。 ViewModel 包含手势观察者和图像观察者。一切正常,除了应用程序直接到上述模块的情况。手势订
这是 this question 的后续行动.如果您没有收到对 handleTurnEventForMatch:didBecomeActive: 的任何回调,请尝试那里的答案。 在我的游戏中,我有时只
应用委托(delegate): - (void)applicationDidBecomeActive:(UIApplication *)application { [[NSNotificati
我有一个典型的问题。在我的应用程序中,我正在处理应用程序委托(delegate)方法 - (void)applicationDidBecomeActive:(UIApplication *)appli
我目前正在使用 Game Center Sandbox 测试我的 Game Center Aware App,其中一个实例在 iOS 模拟器上运行,另一个在 Retina iPad Mini 上运行。
我的应用程序在 Storyboard中设置了 rootViewController。我最初问这个问题,但我现在可以看出这是错误的问题: Is the viewDidLoad method of the
我想让用户在某些情况下,当应用程序再次从后台运行时,能够导航到特定 View 。 现在我正在使用这段代码来强制我的应用程序: - (BOOL)application:(UIApplication *)
我的主要任务是在应用程序进入后台时将屏幕与非透明 View 重叠以隐藏信息。官方解决方案描述here . 问题是它有时无法在 iOS 13 上运行。 我找到了这个article : 它解释了 scen
我是一名优秀的程序员,十分优秀!