как показать слова в слое - PullRequest
0 голосов
/ 28 июня 2011

Я хочу написать несколько слов в один слой. но когда я создаю слой, я не могу найти соответствующий 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 голосов
/ 28 июня 2011

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.Вы можете исправить это, присвоив его переменной и выпустив позже.

...