2014-10-01 1 views
0

Я использую следующий код внутри UIView drawRect нарисовать прямоугольник с закругленными углами:UIBezierPath делает углы смелые

CGContextRef context = UIGraphicsGetCurrentContext(); 

UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:rect cornerRadius:5]; 

CGContextSetFillColorWithColor(context, _fillColor.CGColor); 
[path fill]; 

CGContextSetLineWidth(context, 1); 
CGContextSetStrokeColorWithColor(context, _strikeColor.CGColor); 
[path stroke]; 

По некоторым причинам я получаю артефакт при инсульте: смелые углами.

enter image description here

выглядит не очень хорошо. Я также пытался иметь независимый путь для инсульта - та же проблема.

+1

снимок экрана, может быть ...? – holex

+0

@holex извините, приложите один –

+0

попробуйте с rect = CGRectInset (self.bounds, 0.5, 0.5) – Krzysztof

ответ

0

Думайте, что углы правы, но удар выходит из поля зрения. Попытка:

rect = CGRectInset(self.bounds, 0.5, 0.5) 

Перед созданием пути.

0
//// Rectangle Drawing 
UIBezierPath* rectanglePath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(57, 48, 136, 31) byRoundingCorners: UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii: CGSizeMake(5, 5)]; 
[rectanglePath closePath]; 
[UIColor.grayColor setFill]; 
[rectanglePath fill];