Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 绘制圆形装载机_Ios_Swift - Fatal编程技术网

Ios 绘制圆形装载机

Ios 绘制圆形装载机,ios,swift,Ios,Swift,我必须按照下图创建一个圆形装载机(正面比尾部厚) 我能够创建一个圆形进度条,还提供了旋转动画 下面是圆圈的代码 func circleFrame() -> CGRect { var circleFrame = CGRect(x: 0, y: 0, width: 2 * circleRadius, height: 2 * circleRadius) let circlePathBounds = circlePathLayer.bounds circleFrame.origin.

我必须按照下图创建一个圆形装载机(正面比尾部厚)

我能够创建一个圆形进度条,还提供了旋转动画

下面是圆圈的代码

func circleFrame() -> CGRect {
  var circleFrame = CGRect(x: 0, y: 0, width: 2 * circleRadius, height: 2 * circleRadius)
  let circlePathBounds = circlePathLayer.bounds
  circleFrame.origin.x = circlePathBounds.midX - circleFrame.midX
  circleFrame.origin.y = circlePathBounds.midY - circleFrame.midY
  return circleFrame
}

func circlePath() -> UIBezierPath {
  return UIBezierPath(ovalIn: circleFrame())
}
使用上面的代码,我可以创建一个宽度相等但与显示图像不同的圆


请指导我如何创建一个像上面图片一样的加载程序(尾部比前部薄)。任何想法或建议都很好。

最简单的方法可能是创建要显示的图像,然后将其旋转,而不是尝试从头开始绘制

我还没有尝试过以下教程,但我将其作为如何实现这一点的示例:

请注意,GitHub版本(链接在该页面上)包含Swift 4更新。

请查看。它和你的相似。在绘制圆段时,您可以更改线宽,而不是改变颜色。