2

zPosition を使用して CALayer の上にこの CATextLayer を取得しようとしていますが、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];
4

1 に答える 1

0
> 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];

に:

[self.view.layer insertSublayer:label Above:sublayer];
于 2013-07-01T18:15:27.167 に答える