diff --git a/ios/Elements/RNSVGUse.m b/ios/Elements/RNSVGUse.m index ab2f4af7..cd9dcf87 100644 --- a/ios/Elements/RNSVGUse.m +++ b/ios/Elements/RNSVGUse.m @@ -51,5 +51,21 @@ } } +- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event { + const CGPoint transformed = CGPointApplyAffineTransform(point, self.invmatrix); + RNSVGNode const* template = [self.svgView getDefinedTemplate:self.href]; + if (event) { + self.active = NO; + } else if (self.active) { + return self; + } + UIView const* hitChild = [template hitTest:transformed withEvent:event]; + if (hitChild) { + self.active = YES; + return self; + } + return nil; +} + @end