我有一小段代码,它画了一个圆圈作为 CAShapeLayer:
- (void) viewWillAppear:(BOOL)animated {
CGFloat size = MIN(self.view.frame.size.width, self.view.frame.size.height);
CAShapeLayer *circleLayer = [CAShapeLayer layer];
circleLayer.fillColor = [[UIColor redColor] CGColor];
circleLayer.frame = CGRectMake((self.view.frame.size.width - size) / 2.0 ,(self.view.frame.size.height - size) / 2.0, size, size);
CGMutablePathRef pathRef = CGPathCreateMutable();
CGPathAddEllipseInRect(pathRef, NULL, CGRectMake(0, 0, size, size));
circleLayer.path = pathRef;
CGPathRelease(pathRef);
[self.view.layer addSublayer:circleLayer];
}
圆圈在 iPad 2 和非视网膜模式下的模拟器中正确显示。当我将模拟器切换到视网膜模式时,根本不显示圆圈。不幸的是,我还没有真正的 iPad 3,所以我不能说它是否可以在实际设备上运行。谁能解释一下,我做错了什么?
更新:我将此作为错误报告给 Apple。他们告诉我,这个错误是重复的,另一个错误仍然是开放的。一段时间后它关闭了,但在最后一次 XCode 更新后它仍然可以重现
更新 2:在真正的 iPad 3 上检查过。工作正常。