2012-05-04 14 views
5
द्वारा तैयार मिल

मैंने कई चाप नीचे दिए गए कोड का उपयोग कर तैयार की है:आर्क में टच बिंदु CGContext

CGContextAddArc(context, 
         e.x, 
         e.y, 
         Distance/2, 
         M_PI+angle1, 
         angle1, 
         aClock); 
     CGContextStrokePath(context) 
अब मैं चाहता हूँ कि जब मैं किसी भी कट्टर स्पर्श मैं जो चाप को छुआ गया है कि पता लगाने के लिए चाहते हैं

मैं यह कैसे कर सकता हूं?

+0

स्पर्श के लिए पुरानी विधियों का उपयोग करें (टचबेगन, टचमेड, टचचेन्ड) यह पता लगाने के लिए कि स्क्रीन में स्पर्श कहाँ हुआ था, फिर देखें कि पास क्या है। – SpaceDog

उत्तर

0

आप इस तरह कर सकते हैं:

एक पथ के लिए अपने चाप 1.add,

_path = CGPathCreateMutable(); 
CGPathAddArc(_path, NULL, e.x, e.y, Distance/2, M_PI + angle1, angle1, aClock); 
CGContextAddPath(context, _path); 
CGContextStrokePath(context); 

2.rewrite touchesBegan: withEvent:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    NSSet *allTouches = [event allTouches]; 
    UITouch *touch = [allTouches anyObject]; 
    CGPoint point = [touch locationInView:[touch view]]; 

    if (CGPathContainsPoint(_path, NULL, point, NO)) { 
     NSLog(@"point:(%f, %f), Touch arc.", point.x, point.y); 
    } 
    else { 
     NSLog(@"point:(%f, %f), Touch other.", point.x, point.y); 
    } 
} 

आप देखेंगे " स्पर्श स्पर्श करें। " स्पर्श चाप जब लॉग करें।

संबंधित मुद्दे