UIBezierPath Pfad Form Clickble und Ziehbar

Ich habe eine UIBezierPath innerhalb einer Ansicht. Ich will zeigen, eine Warnung, wenn ich Sie auf die Form, sondern das, was tatsächlich passiert ist, dass die Warnmeldung nicht, nur wenn ich Sie innerhalb der Form, aber auch wenn ich auf einer beliebigen Stelle innerhalb der Ansicht.

Wie ändere ich diesen code, so dass nur, wenn ich klicken Sie in der farbigen Form, bekomme ich die Warnung?
Auch, wie bekomme ich die Form ziehbar auf dem Bildschirm?

#import "draw2D.h"
@implementation draw2D

- (id)initWithFrame:(CGRect)frame {

self = [super initWithFrame:frame];
if (self) {
    //Initialization code.
}
return self;
}

- (void)drawRect:(CGRect)rect {
UIBezierPath*    aPath = [UIBezierPath bezierPath]; 

[aPath moveToPoint:CGPointMake(200.053,79.688)];    
[aPath addLineToPoint:CGPointMake(100.053,179.688)];
[aPath addLineToPoint:CGPointMake(304.412,280.125)];
[aPath addLineToPoint:CGPointMake(308.055,298.513)];
[aPath addLineToPoint:CGPointMake(200.053,79.688)];

[aPath closePath]; 

[[UIColor blackColor] setStroke]; 
[[UIColor redColor] setFill]; 

CGContextRef aRef = UIGraphicsGetCurrentContext(); 
CGContextTranslateCTM(aRef, 50, 50); 
aPath.lineWidth = 5; 
[aPath fill]; 
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Some message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles: nil]; 
//After some time 
[alert show]; 
[alert release]; 
}

- (void)dealloc {
[super dealloc];
}

@end
InformationsquelleAutor alex | 2011-02-09
Schreibe einen Kommentar