Innerhalb meiner Anwendung ich eine CAGradientLayer
verwenden Sie den Hintergrund meiner Zelle zu setzen, auf diese Weise:horizontal CAGradientLayer in iOS 7.0
retValue = [tableView dequeueReusableCellWithIdentifier:@"Cells" forIndexPath:indexPath];
UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor blueColor];
bgColorView.layer.masksToBounds = YES;
id startColor = (id)[[UIColor colorWithWhite:0.75 alpha:1] CGColor];
id endColor = (id)[[UIColor blueColor] CGColor];
CAGradientLayer* gradientLayer = [CAGradientLayer layer];
gradientLayer.frame = retValue.contentView.bounds;
gradientLayer.colors = @[startColor,startColor,endColor,endColor];
gradientLayer.locations = @[[NSNumber numberWithFloat:0],
[NSNumber numberWithFloat:0.95],
[NSNumber numberWithFloat:0.95],
[NSNumber numberWithFloat:1]];
[gradientLayer setStartPoint:CGPointMake(0,0.5)];
[gradientLayer setEndPoint:CGPointMake(1,0.5)];
[bgColorView.layer addSublayer:gradientLayer];
retValue.selectedBackgroundView = bgColorView;
(dieser Code ist innerhalb - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
)
Es funktioniert auf iOS 6 aber funktioniert nicht auf iOS 7, in der neuen iOS ist der Gradient immer vertikal (StartPoint und EndPoint werden ignoriert)
ist jemand in dem gleichen Problem aufgetreten?
Danke,
Perry
Beachten Sie, dass '[UIColor clearColor]' eine seltsame graue Nuance erstellt. Für diese Antwort verwenden Sie stattdessen den '[UIColor colorWithWhite: 1.0 alpha: 0.0]' '. Dadurch erhalten Sie einen transparenten Verlauf. –