jak wypełnić kolor w białych przestrzeniach za pomocą zdarzenia dotykowego?
chcesz wypełnić wszystkie białe spacje z różnych kolorów z wykorzystaniem zdarzeń dotykowych
Teraz ja w stanie wypełnić okręgi zbieranie kolorów z próbnika ale jak wypełnić intigrated część z innym kolorem ......
-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UIColor *cl=[UIColor clearColor];
UITouch *tuch=[touches anyObject];
if ([clr isEqualToString:@"Red"]) {
cl=[UIColor redColor];
}
else if ([clr isEqualToString:@"Blue"]) {
cl=[UIColor blueColor] ;
}
else if ([clr isEqualToString:@"Green"]) {
cl=[UIColor greenColor];
}
CGPoint p = [tuch locationInView:self];
float xsq1=p.x -50;
xsq1=xsq1*xsq1;
float ysq1=p.y-110;
ysq1=ysq1*ysq1;
float h1 = ABS(sqrt(xsq1 + ysq1));
float xsq2=p.x -100;
xsq2=xsq2*xsq2;
float ysq2=p.y-110;
ysq2=ysq2*ysq2;
float h2 = ABS(sqrt(xsq2 + ysq2));
float xsq3=p.x -50;
xsq3=xsq3*xsq3;
float ysq3=p.y-190;
ysq3=ysq3*ysq3;
float h3 = ABS(sqrt(xsq3 + ysq3));
if (h1<=40) {
NSLog(@"touches inside of first circle");
CGContextSetFillColorWithColor(context, cl.CGColor);
CGRect cir1 = CGRectMake(10,266,80,80);
CGContextFillEllipseInRect(context, cir1);
[self setNeedsDisplayInRect:cir1];
}
else if (h2<=40) {
NSLog(@"touches inside of second circle");
CGContextSetFillColorWithColor(context, cl.CGColor);
CGRect cir2 = CGRectMake(60,266,80,80);
CGContextFillEllipseInRect(context, cir2);
[self setNeedsDisplayInRect:cir2];
}
}
Nie jest jasne, czego chcesz. Czy możesz wyjaśnić krok po kroku, gdzie użytkownik się dotknie, i zdjęcie pokazujące, które części powinny być kolorowe? –
na powyższym obrazku, jeśli kliknę dowolną białą przestrzeń, którą powinienem pokolorować w pewnym kolorze –
Zliczam 8 oddzielnych spacji na tym obrazku, w tym część poza wszystkimi okręgami. Ile liczą? –