2012-02-17 21 views
0

私は指のアプリで図面を作っています。目的C:開始点と終了点

開始点と終了点を設定します。

私のプロジェクトはこのようなもので、描画する方向を示す背景があります。ユーザーがエンドポイントに当たると、背景が変わります。

私はタッチで が始まった...

drawPoint = [touch locationInView:self.view]; 
    CGRect writingStartPoint = CGRectMake(90, 800, 30, 30); 
    CGRect writingEndPoint = CGRectMake(390, 800, 30, 30); 

    if (CGRectContainsPoint(writingStartPoint, drawPoint)) 
    { 
     //something 
    } 

    if (CGRectContainsPoint(writingEndPoint, drawPoint)) 
     { 
      //change background 
     } 

それは働いていない...これを試してみました。

別の方法がありますか?

+0

すべての90 800の最初は、そのオフビューのように聞こえる方法終わったのですか?あなたが肖像画であれば間違っている可能性があります。次に、あなたのdrawPointを記録し、あなたのrectと同じ座標系でそれを確認してください。 –

答えて

1

あなたがチェックすべきは、タッチの端矩形内のタッチが移動または

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint drawPoint = [touch locationInView:self.view]; 
    CGRect writingStartPoint = CGRectMake(90, 800, 30, 30); 
    if (CGRectContainsPoint(writingStartPoint, drawPoint)) 
    { 
     //something 
    } 
} 

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint drawPoint = [touch locationInView:self.view]; 
    CGRect writingEndPoint = CGRectMake(390, 800, 30, 30); 
    if (CGRectContainsPoint(writingEndPoint, drawPoint)) 
    { 
     //change background if you want user see change without lift finger up 
    } 
} 

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint drawPoint = [touch locationInView:self.view]; 
    CGRect writingEndPoint = CGRectMake(390, 800, 30, 30); 
    if (CGRectContainsPoint(writingEndPoint, drawPoint)) 
    { 
     //change background when user lift finger up 
    } 
} 

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { 
    // handle cancel event 
} 
+0

ありがとう! – SeongHo

関連する問題