2012-08-09 5 views
1

내가 아는 한 CGContextSetShadowWithColor과 같은 코어 그래픽을 사용하여 그림자를 그릴 수 있습니다. 그러나 CALayer를 사용하여 그림자도 표시 할 수 있습니다.코어 그래픽을 사용하고 CALayer를 사용하여 그림자 그리기

질문 :

그 중 2의 차이점이 무엇인지. CALayer를 사용하여 작업을 수행 할 때 핵심 그래픽을 사용할 때를 결정할 규칙이 있습니까?

답변

1

더 높은 수준이므로 을 항상 사용하는 것이 CoreGraphics보다 우선적이라고 말해야합니다. 그림자 그리기에 대한 낮은 수준의 세부 사항. (사과가 코드 구문을 손상시키지 않으면 서 그림자 그리기를 최적화 할 수도 있습니다).

그러나 어쨌든 drawRect:을 무시하는 경우가 있으며 전체보기의 레이어가 아닌 그림자에 매우 특정한 용도가 있습니다. CoreGraphics 쉐도우를 사용하고 싶을 수도 있습니다.

마지막으로 한 노트는 렌더링시 훨씬 더 빠릅니다. 내 말을 들어보세요. 내가 UITableViewCell에 사용하고 스크롤 성능이 크게 증가했습니다. 반대로 그라디언트는 CoreGraphics입니다. That comes at a price, though. It's a bit worse-looking.

관련 문제