Ich habe eine Scrollview subclass welche bei der iPad Variante der App in einem transparenten PopOver dargestellt wird.
Beim Scrollen soll nun am oberen und unteren Ende der Content weich ausgeblendet werden (Apples Notes.app macht das z.B. auch so am unteren Ende).
Funktioniert mit CAGradientLayer von white nach clearColor als scrollview.layer.mask auch wunderbar, nur leider scrollt die Maske mit statt einen weichen Fade-Out Effekt zu erzeugen.
Irgendwelche Ideen wie man das verhindern könnte?
Alles anzeigen
Beim Scrollen soll nun am oberen und unteren Ende der Content weich ausgeblendet werden (Apples Notes.app macht das z.B. auch so am unteren Ende).
Funktioniert mit CAGradientLayer von white nach clearColor als scrollview.layer.mask auch wunderbar, nur leider scrollt die Maske mit statt einen weichen Fade-Out Effekt zu erzeugen.
Irgendwelche Ideen wie man das verhindern könnte?
Quellcode
- CAGradientLayer *mask = [CAGradientLayer layer];
- mask.locations = [NSArray arrayWithObjects:
- [NSNumber numberWithFloat:0.0],
- [NSNumber numberWithFloat:0.1],
- [NSNumber numberWithFloat:0.9],
- [NSNumber numberWithFloat:1.0],
- nil];
- mask.colors = [NSArray arrayWithObjects:
- (__bridge id)[UIColor clearColor].CGColor,
- (__bridge id)[UIColor whiteColor].CGColor,
- (__bridge id)[UIColor whiteColor].CGColor,
- (__bridge id)[UIColor clearColor].CGColor,
- nil];
- mask.frame = self.scrollview.bounds;
- // vertical direction
- mask.startPoint = CGPointMake(0, 0);
- mask.endPoint = CGPointMake(0, 1);
- self.scrollview.layer.mask = mask;