2010-11-18 22 views
2

私はこの時点ですべてが素晴らしい働いている、私のカスタムコントロールのいずれかを実装するためにUIScrollViewのサブクラスを作成しました。カスタムビューでタッチアップを検出するにはどうすればよいですか?

しかし何私はタッチアップインサイドイベントが検出されるたびに誰もが、私はこれを行うことができる方法を知っているん(単にインターフェースビルダーのような)メソッドを呼び出すことができるようにしたいのですが?

答えて

5

UIScrollViewのでUIControlから継承していない、これは不可能です。私は試してみることをあげる

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if (!self.dragging) 
    { 
     [self.nextResponder touchesEnded: touches withEvent:event]; 
    }  

    [super touchesEnded: touches withEvent: event]; 
} 

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    if (!self.dragging) 
    { 
     [self.nextResponder touchesBegan: touches withEvent:event]; 
    }  

    [super touchesBegan: touches withEvent: event]; 
} 
+0

:あなたは、しかし、カスタムUIScrollViewクラスのUIResponderメソッドを実装することで、スクロールビューのタッチイベントを中継することができます。 Btw nextResponderとは何ですか?それは何ですか? – cgossain

+1

'nextResponder'は、命令を中継するためにビューのビューコントローラを返しますが、スクロールビューは、ビューコントローラスタックではないので、あなたのケースでは、親ビューを返します。もっとここに:http://developer.apple.com/library/ios/#documentation/uikit/reference/UIResponder_Class/Reference/Reference.html%23//apple_ref/occ/cl/UIResponder –

+0

大きな感謝! – cgossain

関連する問題