CALayer по сравнению с CGContext, который является лучшим подходом дизайна?

я делал некоторое экспериментирование с рисунком iOS. Чтобы сделать практическое упражнение, я записал компонент BarChart. Следующее является диаграммой классов (хорошо, мне не разрешили загрузить изображения), таким образом позвольте мне записать это в словах. У меня есть NGBarChartView, который наследовался UIView, имеет 2 протокола NGBarChartViewDataSource и NGBarChartViewDelegate. И код в https://github.com/mraghuram/NELGPieChart/blob/master/NELGPieChart/NGBarChartView.m

Для рисования столбиковой диаграммы, я создал каждую столбиковую диаграмму как различный CAShapeLayer. Причина я сделал это, два, сворачиваются, сначала я мог просто создать UIBezierPath и присоединение, которые к CAShapeLayer возражают и два, я могу легко отследить, если barItem затронут или не при помощи [Слой hitTest] метод. Компонент работает вполне прилично. Однако я не доволен подходом, который я проявил для рисования столбиковых диаграмм. Следовательно это примечание. Мне нужно мнение эксперта о следующем

  1. При помощи CAShapeLayer и создания BarItems, который я действительно нет с помощью UIGraphicsContext действительно ли это - хороший дизайн?
  2. Мой подход создаст несколько CALayers в UIView. Есть ли предел, на основе исполнения, к количеству CALayers вы можете создать в UIView.
  3. , Если хорошая альтернатива должна использовать CGContext* методы затем, что правильный способ определить, был ли конкретный путь затронут
  4. С точки зрения Анимации, такой как мигание Панели когда вы коснуться на нем, дизайн Слоя лучше или дизайн CGContext лучше.

Справка очень ценится. BTW, вы свободны посмотреть на мой код и комментарий. Я с удовольствием приму, что любые предложения улучшаются.

Лучший, Murali

12
задан Murali Raghuram 3 September 2011 в 16:43
поделиться