HOLLOW CGPath의 외측 가장자리 주위에 그림자를 추가하고 싶습니다 (두 단어는 중요 : 외곽 + 중공 :).CALayer.shadow에 의해 생성 된 그림자 클리핑
Apple의 그림자 구현은 "채워진"그림자 만 허용합니다.
그래서 ... 그림자 자체 안쪽 부분을 어떻게 제거 할 수 있습니까? 그것이 렌더링 호출이라면, CGContextSetClip * 메소드를 호출하여 원하는 곳으로 클립 할 수 있습니다 ... 그러나 렌더링 호출이나 CALayer가 아니기 때문에 어떻게 접근 할 수 있는지 알 수 없습니다. .
는(애플의 불행한 결과는 같아요, 마법 변수 세트로 "숨어"?)
NB :이 아이폰 OS 만 - 맥 IIRC 당신은 그림자를 만드는 데 사용되는 필터에 직접 액세스 할 수 , 당신은 직접 (임의의) 그림자를 만들 수 있습니다.
업데이트 : 그림자의 안쪽 부분을 보여 클립하는 방법 일
: (즉, "layer.mask"로 설정 현재 레이어의 클론의 새 레이어로 즉 같은 경로), 경로 채우기 색상을 전체 알파로 설정하십시오.
이것은 내가 시도하는 것과 반대입니다. 따라서 알파를 플립하기위한 마스크 레이어를 얻는 방법을 생각해 보면 (0은 1이되고 1은 0이됩니다.) ...
당신을 가정
나는 이것을 시도했지만, 내 레이어에는 아무런 변화가 없으며, 당신은'shadowBorderWidth'를 정의하지 않았다. 그게 무슨 뜻이야? –
코드를 변경했습니다. 나는 그것이 여전히 효과가 있을지 모른다, 아마도 것입니다. 작동하지 않으면 cloneShapeLayer 메서드, CGPath의 굴곡 규칙, 원래 CGPath 자체 등을 디버깅 할 수 있습니다.이 작업은 소스 코드와 이미지 데이터에 크게 의존합니다 - 내가 너를 위해 그것을 디버깅 할 수는 없어. – Adam
고마워요, 이걸 시도 할게요 :) –