我想在一层写一些单词。但是当我创建图层时,我找不到相应的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];
答案 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
泄漏记忆。您可以通过将其分配给变量并稍后释放来解决此问题。