2013-10-26 3 views
1

불행히도 내 UIView에서 방사형 그래디언트를 그리는 데 해결책을 찾을 수 없습니다. enter image description hereUIView (원)에 방사형 그라디언트 그리기

을하지만 현재이 붙어있어 :

봐는 ... 그게 내가 (이 PS에서 만들어진)를 그릴하는 방법입니다

: 내 코드의 enter image description here

나는 누군가가 나에게 적절한 팁을 줄 수 있기를 바랍니다

CGGradientRef radialGradient; 
CGColorSpaceRef rgbColorspace; 

size_t num_locations = 2; 
CGFloat locations[2] = { 0.0, 1.0 }; 
const CGFloat *colorComponents = CGColorGetComponents(textColor.CGColor); 
CGFloat components[8] = { colorComponents[0], colorComponents[1], colorComponents[2], 1.0, // Start color 
    1.0, 1.0, 1.0, 1.0 }; // End color 

rgbColorspace = CGColorSpaceCreateDeviceRGB(); 
radialGradient = CGGradientCreateWithColorComponents(rgbColorspace, components, locations, num_locations); 

CGRect currentBounds = self.bounds; 
CGPoint midCenter = CGPointMake(CGRectGetMidX(currentBounds), CGRectGetMidY(currentBounds)); 

CGContextDrawRadialGradient(myContext, radialGradient, midCenter, 8.0, midCenter, 1.0, kCGGradientDrawsAfterEndLocation); 



CGGradientRelease(radialGradient); 
CGColorSpaceRelease(rgbColorspace); 

)

주말을 즐기 Chris

+0

2 개 이상의 위치를 ​​사용해 보셨습니까? – Wain

+0

아니요 ... 시험해 보겠습니다. :) –

답변

2

기본적으로 두 개 이상의 위치를 ​​사용해야합니다. 2 개 위치로 시작 위치와 끝 위치 사이에 일정한 기울기를 얻습니다. 샘플 이미지에는 대부분의 위치에 대한 시작 색상과 훨씬 옅은 끝 색상이 표시됩니다. 견본 이미지를보고 최소한 3 개의 위치가 필요하며 끝 색상을 변경하십시오.

+0

알겠습니다 ... 답변 해 주셔서 감사합니다. 나는 그것을 조사 할 것이다. –

관련 문제