到目前爲止,我已經創建了一個從底部開始並使用UiDynamicAnimator向上移動的矩形。我希望用戶確定負重力的「強度」。我希望用戶通過滑塊確定值。滑塊決定重力
這是到目前爲止我的代碼:
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.
}
}
我得到兩個錯誤:
「曖昧使用'value'的」 和
「的懸而未決的標識符'sliderValue'使用」如何將'liderValue'轉換爲只有一個小數點的浮點數?
非常感謝您的建議和解釋! :)我固定了幾件事情。我已經在下面上傳了新的代碼。我注意到滑塊有點過於敏感(它從-10到-9到-8等)。我希望它不太敏感(從-10到-9.9到-9.8等)。我之前的代碼也遇到了這個困難。有沒有類似「self.slider.sensitivity」的東西?試圖查找它。找不到任何相關的東西。 – Saud
沒有問題 - 我喜歡建造它。順便說一句,如果你認爲它解決了你的問題,那麼如果你能接受我的答案,那將是非常棒的!至於滑塊靈敏度,似乎有一個關於此問題的討論http://stackoverflow.com/questions/22147068/uislider-too-sensitive-when-releasing-touch所有最好的 – Sparky