2012-02-20 12 views
0

私は「Comic Strip」と「Balloon Stickies Free」と呼ばれるアプリを参照しましたタッチイベントを別のオブジェクトに渡すにはどうすればいいですか?

吹き出しを追加してs.bまたはs.bの尾をタッチすると機能します。しかし、私がテールの周りまたはs.bとs.bの尾の間を触れると、うまくいきません。そして写真は接触し、s.b.の下で働く。

ので、私は長方形またはtailRect初めて触れたときにそれが動作hitTest:withEvent.

を使用しようとしました。しかし、私はオブジェクトの他の場所に触れると、私は再び矩形やtailRectに触れる、それは動作しません。

このコードを変更するにはどうすればよいですか?私は

- (id)hitTest:(CGPoint)point withEvent:(UIEvent *)event { 
    UIView *hitView = [super hitTest:point withEvent:event]; 

    if(CGRectContainsPoint(rectangle, currentPt)==YES || CGRectContainsPoint(tailRect, currentPt)==YES) 
     return hitView; 
    else 
     return nil; 
} 

答えて

1

ではなく- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)eventをオーバーライドしてください、私を助けてください...知りません。

Ole Begemann's OBShapedButtonをご覧ください。コードは簡単に変更することができます UIButtonの代わりにUIViewで動作するように。

0

この記事を参照してください。horizontal scrollingこのコードを使用すると、すべてのタッチイベントを1つのUIWindowクラスで取得できます。コントロールを適切に渡すためにコードを書く必要があります。

関連する問題