UIImageViewでタッチイベントを検出するのに問題があります。UIImageViewをサブクラス化し、canBecomeFirstResponder、touchedBegan、touchsEndedをオーバーライドしました。
@implementation ImageViewNext
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
self.userInteractionEnabled = YES;
}
return self;
}
-(BOOL)canBecomeFirstResponder
{
return YES;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touches Began event");
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"Touches Ended");
}
すべての親ビューでユーザーインタラクションが有効になっていることを確認しました。
しかし、私は自分のイベントを取得しませんか?
私はここで解決策を見つけようとしましたが、運がありませんでした。しかし、私の検索では、同じ効果を得るために「UIGestureRecognizer」を使用している人がいることがわかりました。副次的な質問として、オーバーライドメソッドを使用する、またはUIGestureRecognizerを使用する「正しい」ソリューションは何ですか?通常のボタンに画像が表示されるソリューションは好きではないので、それらの投稿は遠ざけてください:)