質問は :
iPhone7で作業する場合、
CGContextRefから取得するUIViewと、bitsPerPixelは64です。私の.aは、bitsPerPixel が 32 の従来の RGB 色空間ビットマップ バッファでしか動作しないため、
CGContextRef色空間が広い色をtranditional CGContextRefiPhone6のように変換する方法を誰かが知っていますか?
質問は :
iPhone7で作業する場合、
CGContextRefから取得するUIViewと、bitsPerPixelは64です。私の.aは、bitsPerPixel が 32 の従来の RGB 色空間ビットマップ バッファでしか動作しないため、
CGContextRef色空間が広い色をtranditional CGContextRefiPhone6のように変換する方法を誰かが知っていますか?
解決策は以下のとおりです。
#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_9_3
-(void) layerWillDraw:(CALayer *)layer
{
if( [[[UIDevice currentDevice] systemVersion] floatValue] >= 10.0 )
{
NSString* format = layer.contentsFormat;
if( ![format isEqualToString:kCAContentsFormatRGBA8Uint] )
layer.contentsFormat = kCAContentsFormatRGBA8Uint;
}
}
#endif
描画するビューに上記のコードを追加すると、ビューから取得した CGContextRef は、iPhone6 と同様に従来のものになります。