remove viewFromTag lookup

This commit is contained in:
Hailey
2024-04-11 18:22:25 -07:00
parent e3e8f10538
commit 54168e11b6
2 changed files with 9 additions and 24 deletions
@@ -5,8 +5,9 @@ public class ExpoScrollForwarderModule: Module {
Name("ExpoScrollForwarder")
View(ExpoScrollForwarderView.self) {
Prop("scrollViewTag") { (view: ExpoScrollForwarderView, prop: Int) in
view.scrollViewTag = prop
// Still calling this scrollViewTag even though it is being converted to RCTScrollView
Prop("scrollViewTag") { (view: ExpoScrollForwarderView, prop: RCTScrollView) in
view.rctScrollView = prop
}
}
}
@@ -1,15 +1,15 @@
import ExpoModulesCore
// This view will be used as a native component. Make sure to inherit from `ExpoView`
// to apply the proper styling (e.g. border radius and shadows).
class ExpoScrollForwarderView: ExpoView, UIGestureRecognizerDelegate {
var scrollViewTag: Int? {
var rctScrollView: RCTScrollView? {
willSet {
self.removeCancelGestureRecognizers()
}
didSet {
self.tryFindScrollView()
self.rctRefreshCtrl = self.rctScrollView?.scrollView.refreshControl as? RCTRefreshControl
self.addCancelGestureRecognizers()
}
}
private var rctScrollView: RCTScrollView?
private var rctRefreshCtrl: RCTRefreshControl?
private var cancelGestureRecognizers: [UIGestureRecognizer]?
private var animTimer: Timer?
@@ -162,22 +162,6 @@ class ExpoScrollForwarderView: ExpoView, UIGestureRecognizerDelegate {
return offset
}
func tryFindScrollView() {
guard let scrollViewTag = scrollViewTag else {
return
}
// Before we switch to a different scrollview, we always want to remove the cancel gesture recognizer.
// Otherwise we might end up with duplicates when we switch back to that scrollview.
self.removeCancelGestureRecognizers()
self.rctScrollView = self.appContext?
.findView(withTag: scrollViewTag, ofType: RCTScrollView.self)
self.rctRefreshCtrl = self.rctScrollView?.scrollView.refreshControl as? RCTRefreshControl
self.addCancelGestureRecognizers()
}
func addCancelGestureRecognizers() {
self.cancelGestureRecognizers?.forEach { r in
self.rctScrollView?.scrollView?.addGestureRecognizer(r)