Попытка добавить обнаружение столкновений без спрайтекита с UICollisionBehavior
Стучать головой о том, как закончить collision.addItem как! (UIDynamicItem) Я получаю предупреждение о том, что UIDynamicItem не используется. и ошибка: не удалось привести значение типа "Swift._EmptyArrayStorage" (0x10d8959b0) к "__ObjC.UIDynamicItem" (0x600000264518). Я все еще использую Swift 3.
func dropBall() {
//Create a ball
let circlePath = UIBezierPath(arcCenter: CGPoint(x: 20,y: 20), radius: CGFloat(20), startAngle: CGFloat(0), endAngle:CGFloat(Double.pi * 2), clockwise: true)
let shapeLayer = CAShapeLayer()
shapeLayer.path = circlePath.cgPath
//change the fill color
shapeLayer.fillColor = UIColor.clear.cgColor
//you can change the stroke color
shapeLayer.strokeColor = UIColor.red.cgColor
//you can change the line width
shapeLayer.lineWidth = 3.0
let circleView = UIView(frame: CGRect(x: frame.width / 2, y: 0, width: 50, height: 50))
addSubview(circleView)
circleView.layer.addSublayer(shapeLayer)
animator = UIDynamicAnimator(referenceView: self)
gravity = UIGravityBehavior(items: [circleView])
//Gives direction to bottom of screen
let direction = CGVector(dx: 0.0, dy: 1.0)
gravity.gravityDirection = direction
//Add Collision Detection
let boundries = UICollisionBehavior(items: [circleView])
boundries.translatesReferenceBoundsIntoBoundary = true
//Add Collision Detection with Cicle and Lines
let collision = UICollisionBehavior(items: [circleView, finishedLines as! UIDynamicItem])
collision.addItem as! (UIDynamicItem)
animator?.addBehavior(collision)
animator?.addBehavior(boundries)
animator?.addBehavior(gravity)
}