Я ударился головой о стену, пытаясь понять эту проблему. Я добавил CATextLayer в CALayer, и после нескольких операций я хочу изменить текст CATextLayer на что-то другое. Есть ли простой способ сделать это? Ниже приведен код ниже, который, похоже, не работает.Динамически меняет текст CATextLayer
self.searchingForTextLayer = [CATextLayer layer];
self.searchingForTextLayer.bounds = CGRectMake(0.0f, 0.0f, 100.0f, 30.0f);
self.searchingForTextLayer.string = @"Searching for..";
self.searchingForTextLayer.fontSize = 12;
//TextLayer.font = [UIFont boldSystemFontOfSize:18].fontName;
self.searchingForTextLayer.backgroundColor = [UIColor clearColor].CGColor;
self.searchingForTextLayer.position = CGPointMake(80.0, 40.0f);
self.searchingForTextLayer.wrapped = NO;
[self.captureVideoPreviewLayer addSublayer:self.searchingForTextLayer];
и позже я называю это в методе
self.searchingForTextLayer.string = @"Search complete";
но называть это не изменяет текст на экране.
Любая помощь будет замечательной!
Это сработало для меня. Добавлено две дополнительные строки, но вы бы тоже это сделали. self.captureVideoPreviewLayer = [слой CATextLayer]; [self.captureVideoPreviewLayer addSublayer: self.searchingForTextLayer]; [[self.view layer] addSublayer: self.captureVideoPreviewLayer]; – ratul
Да, эта часть работает, когда я пытаюсь изменить текст после того, как я уже добавил его в качестве подслоя, который он не изменит. – user1179321
Все в порядке для меня. Прежде чем изменять текст, убедитесь, что «self.searchingForTextLayer» указывает на правый слой. – ratul