So far I've created a rectangle that starts from the bottom and moves upward using UiDynamicAnimator. I would like the user to determine the "strength" of the negative gravity. I want the user to determine the value through a slider.
This is my code so far:
    import UIKit
class ViewController: UIViewController {
    var orangeSquare: UIView?
    var animator: UIDynamicAnimator?
    override func viewDidLoad() {
        super.viewDidLoad()
        func sliderChanged(sender: AnyObject) {
            var sliderValue = sender.value
        }
                //Create animation
            let dim = CGRectMake(100, 500, 200, 100)
            orangeSquare = UIView(frame: dim)
            orangeSquare?.backgroundColor = UIColor.orangeColor()
                //Add item to the screen
            self.view.addSubview(orangeSquare!)
                //Initialize the animator
            animator = UIDynamicAnimator(referenceView: self.view)
                //Add gravity
            let gravity = UIGravityBehavior(items: [orangeSquare!])
            let direction = CGVectorMake(0.0, sliderValue)
            gravity.gravityDirection = direction
                //Collision
            let boundries = UICollisionBehavior(items: [orangeSquare!])
            boundries.translatesReferenceBoundsIntoBoundary = true
                //Add animations
            animator?.addBehavior(boundries)
            animator?.addBehavior(gravity)
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}
I get two errors:
"Ambiguous use of ´value´" and "Use of unresolved identifier ´sliderValue´"
How do I convert ´sliderValue´ into a float with just one decimal point?
 
                        
your code is missing a few things. sliderValue is an unresolved identifier because you have only declared it within sliderChanged but are referring to it in the main body of viewDidLoad. Also, I think that your use of value is ambiguous because you have declared the parameter to the function as AnyObject, whose value could be any one of a number of things!
Your code was missing a mechanism linking a change in the value of the slider with a change in the gravity behaviour. As such, I've implemented this using an explicit target attached to the slider object. I've also thrown in a label showing the magnitude of the gravitational force. This is quite rough but I think it achieves what you were looking to do.
Hope that helps. All best!