私はちょうどあなたの編集でガイドを見ました、そして私は問題を見ることができると思います. 同様の質問でこの回答を参照してください。
サブクラスUIScrollView
は次のようになります。
#import "AppScrollView.h"
@implementation AppScrollView
- (id)initWithFrame:(CGRect)frame
{
return [super initWithFrame:frame];
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"AppScrollView touchesEnded:withEvent:");
// If not dragging, send event to next responder
if (!self.dragging)
[[self.nextResponder nextResponder] touchesEnded:touches withEvent:event];
else
[super touchesEnded: touches withEvent: event];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"AppScrollView touchesMoved:withEvent:");
[[self.nextResponder nextResponder] touchesMoved:touches withEvent:event];
}
@end
AppScrollView
オブジェクトを含むクラスは、UIScrollViewDelegate
プロトコルを採用し、これらのメソッドを実装する必要があります。
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"SomeClass touchesMoved:withEvent:");
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
NSLog(@"SomeClass touchesEnded:withEvent:");
}
ログ出力は次のようになります。
2013-06-11 10:45:21.625 Test[54090:c07] AppScrollView touchesMoved:withEvent:
2013-06-11 10:45:21.625 Test[54090:c07] SomeClass touchesMoved:withEvent:
2013-06-11 10:45:21.642 Test[54090:c07] AppScrollView touchesMoved:withEvent:
2013-06-11 10:45:21.642 Test[54090:c07] SomeClass touchesMoved:withEvent:
2013-06-11 10:45:21.655 Test[54090:c07] AppScrollView touchesEnded:withEvent:
2013-06-11 10:45:21.656 Test[54090:c07] SomeClass touchesEnded:withEvent: