你的弧半径不对。实际的弧绘制在上下文边界之外。更改
CGContextAddArc(ctx,
rect.size.width/2., // centerX
rect.size.height/2., // centerY
rect.size.width, // radius
0, // start Angle
M_PI/2., // end Angle
1); // clockwise
到
CGContextAddArc(ctx,
rect.size.width/2., // centerX
rect.size.height/2., // centerY
rect.size.width/2., // radius
0, // start Angle
M_PI/2., // end Angle
1); // clockwise
另外,请注意,根据您的按钮类型,您可能最终会得到被视为
模板
而不是你画的实际图像。要解决这个问题,您可以说(在使用按钮中的图像之前):
progressImg =
[progressImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];