У меня есть пользовательский вид «Dot», который представляет собой круг с цветом границы и фона, похожий на точки в верхнем левом углу iOS 7+, которые показывают силу сигнала.Пользовательский вид иногда появляется с неправильным цветом фона
Точка может быть заполнена или не заполнена.
Заполненная точка:
Не заполнено точка:
Проблема: 20-30% от времени я запустить приложение, не заполненные точки появляются с желтый фон, хотя белый явно указан.
Вот код в DrawRect:
- (void)drawRect:(CGRect)rect
{
CGRect borderRect = CGRectInset(rect, 3, 3);
CGContextRef ctx = UIGraphicsGetCurrentContext();
if (self.filled) {
CGContextSetFillColor(ctx, CGColorGetComponents([self.color CGColor]));
} else {
CGContextSetFillColor(ctx, CGColorGetComponents([[UIColor whiteColor] CGColor]));
}
CGContextSetStrokeColor(ctx, CGColorGetComponents([self.color CGColor]));
CGFloat lineWidth = rect.size.height/10;
if (lineWidth < 1) {
lineWidth = 1.0;
}
CGContextSetLineWidth(ctx, lineWidth);
CGContextFillEllipseInRect(ctx, borderRect);
CGContextStrokeEllipseInRect(ctx, borderRect);
CGContextFillPath(ctx);
}
self.color
никогда не быть установлен в желтый цвет. Только синий цвет вы видите как границу.
Что может заставлять их иногда появляться желтыми?