下一个代码在 ios6 中运行良好。它应该对视图应用顶部和底部的内部 alpha 渐变:
CAGradientLayer * gradient = [CAGradientLayer layer];
gradient.frame = self.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor clearColor] CGColor],
(id)[[UIColor whiteColor]CGColor],
(id)[[UIColor whiteColor]CGColor],
(id)[[UIColor clearColor] CGColor],
nil];
gradient.startPoint = CGPointMake(0.5, 0.0);
gradient.endPoint = CGPointMake(0.5, 1.0);
gradient.locations = [NSArray arrayWithObjects:@0,@(val),@(1.-val),@1,nil];
self.layer.mask = gradient;
但!如果我在 iOS7 中运行此代码,则渐变的“透明”部分不是很好的混合 alpha 渐变,而是纯白色。