Я начал использовать этот отличный SVGKit
для iOS. Я использую подкласс SVGKImageView
. Теперь перед подклассом SVGKImageView
я легко мог добавить UITapGestureRecognizer
. Но мое требование заставило меня использовать подклассы, поскольку мне нужно разместить десятки SVGKImageView
на моем родительском представлении.Обнаружение касания SVGKit's SVGKImageView подкласса
(Это происходит потому, что будет SVGKImageView
прозрачных частей на других представлениях, и я хочу, чтобы иметь возможность игнорировать штрихи на мнениях тех областях, где альфа = 0, так что я хочу, чтобы быть в состоянии обнаружить прикосновение к одной SVGKImageView
затем проверить для альфа-значения, и если касание на прозрачную области вперед сенсорного событие следующего вида и так далее, пока не прозрачная область некоторой точки зрения не найдена)
Теперь после того, как подклассы SVGKImageView
добавления UITapGestureRecognizer
не работает, и это
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
не вызывается в моем подклассе. Я также установил userInteractionEnabled
SVGKImageView в YES, но безрезультатно.
Может ли кто-нибудь помочь мне сказать, почему нет события касания/касания, передаваемого моему SVGKImageView
подкласса?
Ниже мой подкласс init
метод
- (instancetype)init{
self.tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(svgImageTapped:)];
self.tapGestureRecognizer.numberOfTapsRequired = 1;
self.tapGestureRecognizer.delegate = self;
[self addGestureRecognizer:self.tapGestureRecognizer];
self.imageSVG = [SVGKImage imageNamed:@"SomeFile.svg"];
self = (Subclass*)[[SVGKLayeredImageView alloc] initWithSVGKImage:self.imageSVG];
[self sizeToFit];
self.userInteractionEnabled = YES;
self = [super init];
return self;
}
я испытал и без 'UITapGestureRecognizer', но безрезультатно. также [tapGestureRecognizer setCancelsTouchesInView: NO]; бесполезно – Umair
Выполняет ли вызов обратный вызов? – anhtu
ничего не вызывается. В этом проблема – Umair