2014-12-03 3 views
0

Я хочу нарисовать слой на вид. для этого я пишу этот код.Позиция уровня iOS

arcLayer=[CAShapeLayer layer]; 
arcLayer.frame=self.circleView.frame; 
arcLayer.backgroundColor = [UIColor purpleColor].CGColor; 
[self.circleView.layer addSublayer:arcLayer]; 

но это положение слоя не является точным на вид, как вы можете видеть на следующем изображении. зеленый - круглый, а фиолетовый - дуговый.

enter image description here

+1

'arcLayer.frame = self.circleView.bounds' – user3386109

ответ

3

У вас есть проблемы на этой линии: arcLayer.frame=self.circleView.frame;. Измените эту строку на:

CGRect frame = self.circleView.frame; 

frame.origin = CGPointZero; 

arcLayer.frame=frame; 

Это позволит решить вашу проблему. Вы просто забыли установить источник вашего слоя на CGPointZero или что-то еще position. Удачи!

0

Более лаконично:

arcLayer.frame = self.circleView.bounds; 
Смежные вопросы