私はこれSVGKit
を iOS 用に使い始めました。のサブクラスを使用していSVGKImageView
ます。サブクラス化する前にSVGKImageView
、簡単に a を追加できましUITapGestureRecognizer
た。しかし、私の要件ではSVGKImageView
、親ビューに数十を配置する必要があるため、サブクラスを使用する必要がありました。
(これはSVGKImageView
、他のビューに透明な部分があり、アルファ= 0のビュー領域でのタッチを無視できるようにしたいためです。そのため、単一のタッチを検出しSVGKImageView
てアルファ値をチェックし、タッチが透明な領域では、タッチイベントを次のビューに転送し、ビューの非透明な領域が見つかるまで続けます)
サブクラス化した後、SVGKImageView
追加UITapGestureRecognizer
は機能しません。これも
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
私のサブクラスでは呼び出されません。SVGKImageView もuserInteractionEnabled
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;
}