CATextLayer поверх CALayer?

Я пытаюсь получить этот CATextLayer поверх моего CALayer, используя zPosition, но CATextLayer, кажется, всегда находится позади CALayer?

CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor colorWithRed:0/255.0 green:156.0/255.0 blue:222.0/255.0 alpha:1.0].CGColor;
sublayer.shadowOffset = CGSizeMake(0, 3);
sublayer.shadowRadius = 5.0;
sublayer.shadowColor = [UIColor blackColor].CGColor;
sublayer.shadowOpacity = 0.8;
sublayer.frame = CGRectMake(340, 435, 126, 1);
sublayer.zPosition=1;
[self.view.layer addSublayer:sublayer];
CGSize size=CGSizeMake(126, 265);
[self resizeLayer:sublayer to:size];



CATextLayer *label = [[CATextLayer alloc] init];
[label setFont:@"Helvetica-Neue"];
[label setFontSize:56];  
[label setFrame: self.view.frame];
[label setString:@"56"];
[label setAlignmentMode:kCAAlignmentCenter];
[label setForegroundColor:[[UIColor whiteColor] CGColor]];
label.zPosition=99;
[self.view.layer  addSublayer:label];

person Community    schedule 10.08.2012    source источник


Ответы (1)


> CATextLayer *label = [[CATextLayer alloc] init];
> [label setFont:@"Helvetica-Neue"];
> [label setFontSize:56];  
> [label setFrame: self.view.frame];
> [label setString:@"56"];
> [label setAlignmentMode:kCAAlignmentCenter];
> [label setForegroundColor:[[UIColor whiteColor] CGColor]];
> label.zPosition=99;
> [self.view.layer  addSublayer:label];

Я бы поменял:

[self.view.layer  addSublayer:label];

To:

[self.view.layer insertSublayer:label Above:sublayer];
person Mr. Cairo    schedule 01.07.2013