如何在图层中显示单词

时间:2011-06-28 09:21:04

标签: iphone objective-c cocoa-touch calayer

我想在一层写一些单词。但是当我创建图层时,我找不到相应的API来将单词附加到图层。

layer2 = [CALayer layer]; 
[layer2 setBackgroundColor:[[UIColor grayColor] CGColor]];
layer2.bounds = CGRectMake(0, 0, 60,40);
layer2.position = CGPointMake(25,25);//     
layer2.contentsRect = layer2.bounds;
layer2.contents=@"Hello World~~"; //It's nothing in the showing layer .
[self.layer addSublayer:layer2];

1 个答案:

答案 0 :(得分:0)

contents属性仅适用于CGImageRef。如果您希望在其上使用文字,请使用CATextLayer

使用示例

CATextLayer * textLayer = [CATextLayer layer];
textLayer.backgroundColor = [[UIColor darkGrayColor] CGColor];
textLayer.foregroundColor = [[UIColor whiteColor] CGColor];
textLayer.bounds = CGRectMake(0, 0, 60, 40);
textLayer.position = CGPointMake(25, 25);
textLayer.string = @"Hello World";
textLayer.font = CGFontCreateWithFontName(CFSTR("Helvetica"));
textLayer.fontSize = 15.0;

[self.window.layer addSublayer:textLayer];

当然,我用CGFontCreateWithFontName泄漏记忆。您可以通过将其分配给变量并稍后释放来解决此问题。