2011-01-21 6 views

답변

1

보기가 레이블과 함께 일부 정적 배경 이미지 나 색상에있는 경우 빠르고 더러운 속임수는 해당 이미지 나 색상의 그래디언트 PNG를 만들어서보기 위에 배치하는 것입니다.

그렇지 않으면보기에 this CALayer gradient mask solution을 적용 할 수 있는지 확인하십시오.

3

Ray Wenderlich에는 개체의 그라데이션 설정에 대한 훌륭한 자습서가 있습니다. 내 제안은 필요에 맞게 다음 코드를 수정하는 것입니다.

//Ray's code: 
void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor, 
    CGColorRef endColor) { 
    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 
    CGFloat locations[] = { 0.0, 1.0 }; 

    NSArray *colors = [NSArray arrayWithObjects:(id)startColor, (id)endColor, nil]; 

    CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, 
     (CFArrayRef) colors, locations); 

    CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect)); 
    CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect)); 

    CGContextSaveGState(context); 
    CGContextAddRect(context, rect); 
    CGContextClip(context); 
    CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0); 
    CGContextRestoreGState(context); 

    CGGradientRelease(gradient); 
    CGColorSpaceRelease(colorSpace); 
} 
관련 문제