我目前正在实现 UIGravityBehavior 以将菜单从底部移动到在顶部停止的屏幕,当再次按下按钮时,我希望它向后移动并在底部消失。
var gravity : UIGravityBehavior = UIGravityBehavior(items: [testView])
gravity.gravityDirection = CGVectorMake(0.0, -0.6)
collision.addBoundaryWithIdentifier("TopEdge", fromPoint: UIScreen.mainScreen().bounds.origin, toPoint: CGPointMake(UIScreen.mainScreen().bounds.maxX, UIScreen.mainScreen().bounds.minY))
animator.addBehavior(collision)
animator.addBehavior(gravity)
当显示菜单并再次按下按钮时,我执行以下操作
var gravity : UIGravityBehavior = UIGravityBehavior(items: [testView])
gravity.gravityDirection = CGVectorMake(0.0, 0.6)
animator.addBehavior(gravity)
我试过以下
animator.action({
if (CGRectIntersectsRect(CGRectMake(0, UIScreen.mainScreen().bounds.maxY + self.testView.frame.size.height + 40, UIScreen.mainScreen().bounds.maxX, UIScreen.mainScreen().bounds.maxY), self.testView.frame)) {
println("Stopped")
}
})
但我收到以下错误无法将表达式的类型 '$T4' 转换为类型 '@lvalue (() -> Void)!'
还尝试在屏幕外设置碰撞边界,但显然它也不起作用。
非常感谢大家。