2
我想讓我的UIView從100%不透明度褪去0%不透明度。有關我如何做到這一點的任何想法?如何在UIView上應用不透明度漸變?
我想讓我的UIView從100%不透明度褪去0%不透明度。有關我如何做到這一點的任何想法?如何在UIView上應用不透明度漸變?
如果該視圖及其標籤位於某個靜態背景圖像或顏色上,則快速骯髒的技巧是創建該圖像或顏色的漸變PNG並將它們放在視圖上。
否則,請參閱您是否可以修改this CALayer
gradient mask solution以供您查看。
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);
}
它的背景是動態呈現還是靜態背景圖片? – BoltClock 2011-01-21 13:55:15