UIImage サブクラス化されたビューと UIBezierPath を使用して画面に図形を描画し、図形の線を描画する iOS アプリがあります。
テキストを描画するコードは次のとおりです。
// 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 で描画されたテキストも保存するには、どのコードが必要ですか?