私は実際にthis tutorial at cocoaneticsに1つのマスク層のおかげを使用してこれを理解するために管理。ここに私がやったことだ:
@interface ScalesViewController : UIViewController
{
CAGradientLayer *maskLayer;
}
@end
次に.Mで、私は次のように配置された:
- (void)viewDidAppear:(BOOL)animated
{
[super viewWillAppear: animated];
if (!maskLayer)
{
maskLayer = [CAGradientLayer layer];
CGColorRef outerColor = [[UIColor colorWithWhite:0.0 alpha:1.0] CGColor];
CGColorRef innerColor = [[UIColor colorWithWhite:0.0 alpha:0.0] CGColor];
maskLayer.colors = [NSArray arrayWithObjects:
(__bridge id)outerColor,
(__bridge id)innerColor,
(__bridge id)innerColor,
(__bridge id)outerColor, nil];
maskLayer.locations = [NSArray arrayWithObjects:
[NSNumber numberWithFloat:0.0],
[NSNumber numberWithFloat:0.125],
[NSNumber numberWithFloat:0.875],
[NSNumber numberWithFloat:1.0], nil];
[maskLayer setStartPoint:CGPointMake(0, 0.5)];
[maskLayer setEndPoint:CGPointMake(1, 0.5)];
maskLayer.bounds = self.mainCollectionView.bounds;
maskLayer.anchorPoint = CGPointZero;
[self.mainCollectionView.layer insertSublayer: maskLayer atIndex: 0];
}
}
をこれは私のコレクションビューの両側に素敵な「フェード黒に」効果を作成します。グラデーションブレンドを改善するために、より多くの色を場所の&カラープロパティに追加することができます。開始/終了点は、グラデーションの方向と位置を決定します。