我有一个 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 绘制的文本还需要什么代码?