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];
}
円は、iPad2および非網膜モードのシミュレーターで正しく表示されます。シミュレーターを網膜モードに切り替えると、円がまったく表示されません。残念ながら、私はまだ実際のiPad 3を持っていないので、実際のデバイスで動作するかどうかはわかりません。誰かが私が間違っていることを説明できますか?
更新:これをバグとしてAppleに報告しました。彼らは私に、バグは重複していて、他のバグはまだ開いていると言った。しばらくすると閉じられましたが、最後のXCodeアップデート後も再現可能です
アップデート2:実際のiPad3でチェックしました。正しく動作します。