少し前に、マスクされたビューの背後でアニメーションを実行するアプリに気付きました。
UIBezierPath *myBezierPath = myVectorDrawing.bezier;
CAShapeLayer *myShapeLayer = [CAShapeLayer layer];
myShapeLayer.path = myBezierPath.CGPath;
debugLog(@"wize: height%f width%f",myShapeLayer.frame.size.height, myShapeLayer.frame.size.width);
CAShapeLayer *maskWithHole = [CAShapeLayer layer];
maskWithHole.frame = self.mask.layer.bounds;
UIBezierPath *maskPath = [UIBezierPath bezierPath];
[maskPath moveToPoint:CGPointMake(CGRectGetMinX(maskWithHole.frame), CGRectGetMinY(maskWithHole.frame))];
[maskPath addLineToPoint:CGPointMake(CGRectGetMinX(maskWithHole.frame), CGRectGetMaxY(maskWithHole.frame))];
[maskPath addLineToPoint:CGPointMake(CGRectGetMaxX(maskWithHole.frame), CGRectGetMaxY(maskWithHole.frame))];
[maskPath addLineToPoint:CGPointMake(CGRectGetMaxX(maskWithHole.frame), CGRectGetMinY(maskWithHole.frame))];
[maskPath addLineToPoint:CGPointMake(CGRectGetMinX(maskWithHole.frame), CGRectGetMinY(maskWithHole.frame))];
[maskPath appendPath:myBezierPath];
[maskWithHole setPath:[maskPath CGPath]];
[maskWithHole setFillRule:kCAFillRuleEvenOdd];
[maskWithHole setFillColor:[[UIColor blackColor] CGColor]];
self.mask.layer.mask = maskWithHole;
self.mask.layer.masksToBounds = NO;
すべてのデバイス/iOS バージョンで、新しい iPad Air に期待される問題はありませんでした。マスクされた領域に大きなちらつきがあります。Apple は 64 ビット アーキテクチャのために何かを変更しましたか?
どんな助けでも大歓迎です。