Quartz 2D 프로그래밍 가이드의 관련 부분으로 읽었지만 다음에 대한 답변을 찾을 수 없습니다 (그들은 대화하는 것처럼 보이지 않습니다). 문서의 iOS에 관한 내용이 많습니다.)오프 스크린 드로잉을 위해 UIView에서 CGLayer를 생성하는 방법
내 응용 프로그램은 UIView
에 그림을 표시합니다. 때때로 나는 그림을 어떤 식 으로든 업데이트해야한다. 모양 중 하나의 채우기 색상을 변경하십시오 (다른 채우기 색상으로 나중에 다시 그릴 수 있도록 CGPathRefs
을 중요한 모양으로 유지). 나는 그런
CGContextRef offscreenContext = CGLayerGetContext(offscreenLayer);
: 섹션 상기 문서의 169 페이지의 "CGLayer으로 그리기"에 설명 된대로, 나는 내가 그렇게처럼 CGLayer
에서 얻는 것 CGContext
로 전체 그림을 그리는 생각했다 UIView
의의 drawRect 내 UIView의에 CGLayer
을 CGContext
로 오프 스크린 내 업데이트를하고 그릴 수 : 방법,과 같이 : 나는에서 내 CGLayer
을받을 수 있나요 오전 데 문제가
CGContextDrawLayerAtPoint(viewContext, CGPointZero, offscreenLayer);
을, ? 내 이해는 CGLayerCreateWithContext
을 사용하여 만들어야하고 대부분의 속성을 상속받는 매개 변수로 CGContext
을 제공해야합니다. 물론, 올바른 문맥 내가
CGContextRef viewContext = UIGraphicsGetCurrentContext();
으로 얻고 있지만, 내가 잘못 아니에요, 난 단지 drawRect
내 것을 얻을 수는 UIView
의 상황이 될 것이다 : 방법이 있다고 가정하는 것이 유효하지 않습니다 내가 거기에 주어진 문맥은 메소드가 호출 될 때 같은 다음 객체가 될 것입니다. 즉, 메소드 내에서 로컬로만 CGContext
을 사용할 수 있습니다. 그래서
, 어떻게 내가 초기화하는 데 사용할 수있는 CGContext
얻을 수 내 CGLayer
으로 그릴 수있는 오프 스크린 CGContext
을 만든 다음 내 UIView
의 CGContext
에 다시 전체 레이어를 그릴?
추신 : 당신이 그것에있는 동안; 위의 내용이 모두 이해가되지 않거나 제정신이 아닐 경우 알려주십시오. 나는 방금 석영 2D 주위에 머리를 갖기 시작했다.
나는 또한 CGLayer 문제로 인해 붙어있어, 내 touchedmoved 함수에 쓰는 방법을 이해하지 못한다. 제 게시글을보실 수 있습니까? http://stackoverflow.com/questions/11341763/how-to- use-cglayer-for-optimal-drawing – Ranjit
CGContextBeginPath() 및 CGContextClosePath()는 컨텍스트의 매개 변수를 사용합니다. – Ant