1

質問は :

iPhone7で作業する場合、

CGContextRefから取得するUIViewと、bitsPerPixel64です。私の.aは、bitsPerPixel が 32 の従来の RGB 色空間ビットマップ バッファでしか動作しないため、

CGContextRef色空間が広い色をtranditional CGContextRefiPhone6のように変換する方法を誰かが知っていますか?

4

1 に答える 1

0

解決策は以下のとおりです。

#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 と同様に従来のものになります。

于 2016-10-28T03:52:23.127 に答える