iOS 10を実行しているiPhone 7を使用しています(iOS 10のバージョンは問題ありませんが、iPhone 7デバイスでなければなりません...同じバージョンのiOS 10を搭載したiPhone 6でもこの問題は発生しません)。残念ながら、iOS 9以降を実行しているiPhone 7を試すことはできません。私のアプリでXcode 8 CoreGraphicsのiPhone 7(iOS 10を実行中)の問題
、私は別の画像でイメージをマスクするために、このメソッドを使用しています:
- (UIImage *)imageWithMask:(UIImage *)maskImage
{
UIImage *returnImage = nil;
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef),
NULL,
false);
CGImageRef maskedImageRef = CGImageCreateWithMask([self CGImage], mask);
returnImage = [UIImage imageWithCGImage:maskedImageRef];
CGImageRelease(mask);
CGImageRelease(maskedImageRef);
return returnImage;
}
ここで私は(黒と白)を渡しているマスク画像です:
私はXcodeの7.3.1と私のアプリを構築する場合、私の方法マスク精細な画像:
私はXcodeの8(8.2でも最新)でアプリケーションを実行する場合は、私の方法は、(白の背景が伝わってくる)、結果として得られるイメージが透明に見えるために発生します
私はしないでください何が起こっているのか、なぜXcodeの異なるバージョンがこれを引き起こしているのか(そしてなぜそれがiPhone 7で起こっているのか)を理解してください。 Xcodeの異なるバージョンがCoreGraphicsなどの異なるバージョンを使用しているのかもしれませんか? CoreGraphicsとiPhone 7の違いは、iPhone 6の場合(iPhone 7の画面解像度や処理能力などの理由による可能性があります)と異なる場合がありますか?
私はそれがXcodeの問題であることを知ったので、次に何を試してみるか調べるのに問題があります。