1

我目前正在实现 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)!'

还尝试在屏幕外设置碰撞边界,但显然它也不起作用。

非常感谢大家。

4

0 回答 0