CALayerを持つビューがあります。CAGradientLayerを作成し、それをそのビューのCALayerのマスクとして適用しても、何も起こりません。なんで?
ビューの-initWithFrame:でこれを行います:
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil];
//[self.layer insertSublayer:gradient atIndex:0];
self.layer.mask = gradient;
交換した場合
self.layer.mask = gradient;
と
[self.layer insertSublayer:gradient atIndex:0];
次に、グラデーションが表示されます。黒から白までです。
トリックは何ですか?