iPad Air奇怪的面具+动画行为

时间:2013-11-06 10:29:24

标签: ios objective-c ipad ios7

我们前段时间实现了一个App,它在蒙面视图后面做了一个动画:

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没有任何问题,它在蒙版区域中有大量闪烁。由于64位架构,Apple是否改变了一些东西?

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

它是7.1版本的iOS 7.0中的一个错误。它已修复。