Skip to content

Commit f58dd24

Browse files
committed
fix(ios): fling gesture fix
1 parent 9776a32 commit f58dd24

File tree

1 file changed

+11
-8
lines changed

1 file changed

+11
-8
lines changed

packages/gesturehandler/platforms/ios/src/FlingHandler.m

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ @implementation FlingGestureHandler
1414
- (instancetype)initWithTag:(NSNumber *)tag
1515
{
1616
if ((self = [super initWithTag:tag])) {
17-
self.direction = UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown;
17+
_direction = UISwipeGestureRecognizerDirectionLeft | UISwipeGestureRecognizerDirectionRight | UISwipeGestureRecognizerDirectionUp | UISwipeGestureRecognizerDirectionDown;
1818
_recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)];
1919
[(UISwipeGestureRecognizer*)_recognizer setDirection:UISwipeGestureRecognizerDirectionLeft];
2020
_rightrecognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)];
@@ -34,17 +34,17 @@ - (void)configure:(NSDictionary *)config
3434

3535
id prop = config[@"direction"];
3636
if (prop != nil) {
37-
self.direction = [prop integerValue];
38-
if ((self.direction & UISwipeGestureRecognizerDirectionLeft) == 0) {
37+
_direction = [prop integerValue];
38+
if ((_direction & UISwipeGestureRecognizerDirectionLeft) == 0) {
3939
_recognizer.enabled = NO;
4040
}
41-
if ((self.direction & UISwipeGestureRecognizerDirectionRight) == 0) {
41+
if ((_direction & UISwipeGestureRecognizerDirectionRight) == 0) {
4242
_rightrecognizer.enabled = NO;
4343
}
44-
if ((self.direction & UISwipeGestureRecognizerDirectionUp) == 0) {
44+
if ((_direction & UISwipeGestureRecognizerDirectionUp) == 0) {
4545
_toprecognizer.enabled = NO;
4646
}
47-
if ((self.direction & UISwipeGestureRecognizerDirectionDown) == 0) {
47+
if ((_direction & UISwipeGestureRecognizerDirectionDown) == 0) {
4848
_bottomrecognizer.enabled = NO;
4949
}
5050
}
@@ -90,7 +90,11 @@ - (void)unbindFromView
9090
_bottomrecognizer.delegate = nil;
9191
}
9292
- (void) setDirection:(NSInteger) value {
93-
((UISwipeGestureRecognizer *)_recognizer).direction = value;
93+
_direction = value;
94+
_recognizer.enabled = (_direction & UISwipeGestureRecognizerDirectionLeft) != 0;
95+
_rightrecognizer.enabled = (_direction & UISwipeGestureRecognizerDirectionRight) != 0;
96+
_toprecognizer.enabled = (_direction & UISwipeGestureRecognizerDirectionUp) != 0;
97+
_bottomrecognizer.enabled = (_direction & UISwipeGestureRecognizerDirectionDown) != 0;
9498
}
9599
//
96100
//- (NSNumber *) direction {
@@ -128,4 +132,3 @@ - (NSMutableDictionary *)eventExtraData:(UISwipeGestureRecognizer *)recognizer
128132
return result;
129133
}
130134
@end
131-

0 commit comments

Comments
 (0)