Nie jestem programistą graficznym, więc próbuję się przez to potknąć. Próbuję narysować 9 wypełnionych kółek, każdy o innym kolorze, z których każdy ma białą obwódkę. Ramka UIView to CGRectMake (0,0,60,60). Zobacz załączony obraz.Kręgi wypełnione rysunkiem iOS
Problem polega na tym, że uzyskuję "płaskie plamki" po obu stronach granicy. Oto mój kod (z podklasy UIView):
- (void)drawRect:(CGRect)rect
{
CGRect borderRect = CGRectMake(0.0, 0.0, 60.0, 60.0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 1.0, 1.0, 1.0, 1.0);
CGContextSetRGBFillColor(context, colorRed, colorGreen, colorBlue, 1.0);
CGContextSetLineWidth(context, 2.0);
CGContextFillEllipseInRect (context, borderRect);
CGContextStrokeEllipseInRect(context, borderRect);
CGContextFillPath(context);
}
Jeśli zmieni się CGRectMake (0,0,56,56) w drawRect, mam tylko płaskie plamy na górnej i lewej stronie, a dno & prawe strony wyglądają dobrze.
Czy ktoś może zasugerować, w jaki sposób mogę to naprawić? Wydaje mi się, że granica jest przycinana przez UIView, ale nie wiedząc zbyt wiele o tym, naprawdę nie wiem jak to naprawić.
Z góry dziękuję za sugestie ekspertów graficznych.
Dzięki za udostępnianie kodu. Btw. Myślę, że 'CGContextFillPath (context);' nie jest potrzebny. – Daniel