Swift 2.0, Xcode 7, Ios 9Swift Столкновение Boundary не работает
Намерение: Я хочу, чтобы два квадрата, чтобы упасть на дно и остаться в нижней части экрана.
Что происходит сейчас: нет ошибки, препятствующей запуску кода, гравитация отлично работает, но столкновение просто игнорируется. Это приводит к тому, что два объекта попадают в нижнюю часть экрана.
Примечание: подкласс UIView не является UIViewController, и к этому представлению можно получить доступ с одного сеанса.
Большое спасибо!
Код:
import UIKit
class graphs: UIView {
//create two shapes
var greenSquare: UIView?
var redSquare: UIView?
var animator: UIDynamicAnimator?
override func drawRect(rect: CGRect) {
var dimen = CGRectMake(25, 25, 60, 60)
greenSquare = UIView(frame: dimen)
greenSquare?.backgroundColor = UIColor.greenColor()
dimen = CGRectMake(130, 25, 90, 90)
redSquare = UIView(frame: dimen)
redSquare?.backgroundColor = UIColor.redColor()
//add them to the screen
self.addSubview(greenSquare!)
self.addSubview(redSquare!)
}
@IBAction func startbutton(sender: AnyObject) {
//initialise the animator
animator = UIDynamicAnimator()
//colision
let boundries = UICollisionBehavior(items:[greenSquare!,redSquare!])
boundries.translatesReferenceBoundsIntoBoundary = true
//add gravity
let gravity = UIGravityBehavior(items: [greenSquare!, redSquare!])
let direction = CGVectorMake(0.0, 1.0)
gravity.gravityDirection = direction
animator?.addBehavior(boundries)
animator?.addBehavior(gravity)
}
}