用Core Graphics绘图在Retina显示屏上看起来矮胖

我有一个UIView从drawRect:rect中绘制一个圆。 在阅读Retina显示屏上的Apple dev信息之后,似乎使用Core Graphics意味着绘图将自动利用更高的分辨率。 然而,这个简单的圆圈与徽章图标中的相似圆圈相比看起来相当矮胖。 很显然,我将它与具有光泽和阴影的东西进行比较,但我认为很明显,我的绘图效果不好。 我尝试了苹果的图标徽章和我的圈子的截图,他们在我的Mac上看起来相同 – 但是当看着手机上的每一个不同之处显而易见。 有什么简单的我在这里失踪?

这是我在drawRect:rect中使用的绘图代码

UIBezierPath* aPath = [UIBezierPath bezierPathWithOvalInRect: CGRectMake(0, 0, 22, 22)]; [[UIColor whiteColor] setStroke]; [[UIColor redColor] setFill]; CGContextRef aRef = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(aRef, 10, 10); aPath.lineWidth = 3; [aPath fill]; [aPath stroke]; 

感谢您的帮助,Rob

糟糕,它首先需要反锯齿:

 CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetShouldAntialias(context, YES); 

我在绘图之前添加了这个,然后将它设置为NO,之后立即画出另一个圆圈。 这两个圆圈并排显示出这是问题所在。