任何人都可以向我解释如何创建圆形路径并在其周围移动图像。
let circlePath = UIBezierPath(arcCenter: CGPoint(x: 100,y: 100), radius: CGFloat(20), startAngle: CGFloat(0), endAngle:CGFloat(M_PI * 2), clockwise: true)
Run Code Online (Sandbox Code Playgroud)
我发现了圆的路径是如何做的,但其余的我不知道该怎么做。我是 iOS 开发的新手。
而且,我需要在打开页面时开始此操作。
检查此代码,objectToMove 是来自 storyBoard 的 UIView 进行测试,这里我使用的是您的路径代码,但我添加了更多半径
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var objectToMove: UIView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
let orbit = CAKeyframeAnimation(keyPath: "position")
var affineTransform = CGAffineTransformMakeRotation(0.0)
affineTransform = CGAffineTransformRotate(affineTransform, CGFloat(M_PI))
let circlePath = UIBezierPath(arcCenter: CGPoint(x: 100 - (100/2),y: 100 - (100/2)), radius: CGFloat(100), startAngle: CGFloat(0), endAngle:CGFloat(M_PI * 2), clockwise: true)
orbit.path = circlePath.CGPath
orbit.duration = 4
orbit.additive = true
orbit.repeatCount = 100
orbit.calculationMode = kCAAnimationPaced
orbit.rotationMode = kCAAnimationRotateAuto
objectToMove.layer .addAnimation(orbit, forKey: "orbit")
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Run Code Online (Sandbox Code Playgroud)
我希望这对你有帮助,问候
| 归档时间: |
|
| 查看次数: |
3315 次 |
| 最近记录: |