@@ -81,25 +81,28 @@ extension UIImageView {
81
81
initialIndex: Int = 0 ,
82
82
options: [ ImageViewerOption ] = [ ] ) {
83
83
84
+ var _tapRecognizer : TapWithDataRecognizer ?
84
85
gestureRecognizers? . forEach {
85
- if let _ = $0 as? UITapGestureRecognizer {
86
- return
86
+ if let _tr = $0 as? TapWithDataRecognizer {
87
+ // if found, just use existing
88
+ _tapRecognizer = _tr
87
89
}
88
90
}
89
91
90
92
isUserInteractionEnabled = true
91
93
contentMode = . scaleAspectFill
92
94
93
- let _tapRecognizer = TapWithDataRecognizer (
94
- target: self , action: #selector( showImageViewer ( _: ) ) )
95
- _tapRecognizer. numberOfTouchesRequired = 1
96
- _tapRecognizer. numberOfTapsRequired = 1
97
-
95
+ if _tapRecognizer == nil {
96
+ _tapRecognizer = TapWithDataRecognizer (
97
+ target: self , action: #selector( showImageViewer ( _: ) ) )
98
+ _tapRecognizer!. numberOfTouchesRequired = 1
99
+ _tapRecognizer!. numberOfTapsRequired = 1
100
+ }
98
101
// Pass the Data
99
- _tapRecognizer. imageDatasource = datasource
100
- _tapRecognizer. initialIndex = initialIndex
101
- _tapRecognizer. options = options
102
- addGestureRecognizer ( _tapRecognizer)
102
+ _tapRecognizer! . imageDatasource = datasource
103
+ _tapRecognizer! . initialIndex = initialIndex
104
+ _tapRecognizer! . options = options
105
+ addGestureRecognizer ( _tapRecognizer! )
103
106
}
104
107
105
108
@objc
0 commit comments