2010-08-16 3 views
12

가로 그라데이션이 정상적으로 작동합니다. 가로 그라디언트에서 세로 색상 그라디언트를 가져 오는 방법이 있습니까? 프레임을 회전하여이 작업과 관련된 질문을 보았습니다.세로 색 그라디언트

수직 그래디언트를 구현하는 간단한 방법이 있습니까?

답변

2

회전 각도는?

편집 의견을 통해 판단 해 보면 CAGradientLayer을 통해 확인한 것 같습니다. CAGradientLayerCALayer의 하위 클래스이며 transform 속성을가집니다. 이 transform 속성은 레이어에 적용될 일종의 선형 변환을 나타내는 구조체 (배율, 변환 또는 회전 등) 인 CATransform3D을 사용합니다.

그래서 실제로는 make a rotational CATransform3D이 필요하고 의 transform 속성으로 설정하면됩니다.

startPointendPoint (실제로는 더 간단 할 수 있음)을 사용하여이 작업을 수행 할 수도 있습니다.

+0

회전을 위해 gradient.startpoint와 gradient.endpoint를 사용했습니다 ... 괜찮습니까? 180도 회전이 필요합니다. 위와 같은 논리를 사용해야합니다. – darshan

+0

@ darshan 수정 답변 –

76

기본 startPoint를엔드 포인트은 기울기가 (내 마음에 수직 그라데이션 인) 위에서 아래로 귀하의 색상을 표시 할 것입니다.

[gradientLayer setStartPoint:CGPointMake(0.0, 0.5)]; 
    [gradientLayer setEndPoint:CGPointMake(1.0, 0.5)]; 

의 3D가 불필요 변환 : 그래디언트가 왼쪽에서 오른쪽으로 표시 할 경우, CAGradientLayer에이 코드를 사용 (다시 내 마음이는 수평 그라데이션입니다).

+0

좋은 one dude +1 – Warewolf