Как сохранить представление UIImage и текст внутри него на диск

У меня есть приложение iOS, которое рисует фигуры на экране с использованием подкласса UIImage и UIBezierPath для рисования линий формы.

Вот код для рисования текста:

// This is inside a loop const unsigned int row = i; const unsigned int column = j; NSString* rowColumnId = [[NSString alloc] initWithFormat:@"%d, %d", column, row ]; CGPoint textCoord = shapeCoord[0]; textCoord.x += 5; textCoord.y += 5; [rowColumnId drawAtPoint:textCoord withFont:[UIFont fontWithName:@"Helvetica" size:9.0]]; 

На экране все выглядит хорошо; как фигуры, так и текст видны как в iOS-симуляторе, так и на моем устройстве iOS

Мне нужно было сохранить представление в виде PNG-изображения, поэтому для этого я использовал следующий код:

 // set up the rendering context CGSize boardViewSize = [self bounds].size; UIGraphicsBeginImageContext(boardViewSize); [[self layer] renderInContext:UIGraphicsGetCurrentContext()]; // draw the view UIImage* viewImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); // convert to PNG NSData* pngData = UIImagePNGRepresentation(viewImage); UIImage* pngImage = [UIImage imageWithData:pngData]; return pngImage; 

Когда я сохраняю PNG, все, что я вижу, это фигуры.

Какой код необходим для сохранения текста, нарисованного NSString?

Ну, я понял, что проблема заключается в том, что черный текст не появляется на прозрачном PNG, хотя он есть.

Таким образом, вышеупомянутый вопрос можно игнорировать.

Interesting Posts
Давайте будем гением компьютера.