编程的 UISlider 值没有改变
Programmed UISlider value not changing
我的代码使用了一个已编程的滑块,我想在 Xcode 的调试部分找到该值。除了 "ben: 0",我在调试区域中没有看到任何东西。如果我将滑块移动到右侧部分的末尾,它会显示 "ben" 1" 但这是我看到的唯一被更改的值。这就是所有代码,因此您只需复制到 Xcode项目,不需要故事板。
import UIKit
class ViewController: UIViewController {
var move = UISlider()
override func viewDidLoad() {
super.viewDidLoad()
[move].forEach({
[=10=].translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview([=10=])
})
move.frame = CGRect(x: view.center.x-115, y: view.center.y+200, width: 200, height: 30)
move.addTarget(self, action: #selector(moveRight), for: .valueChanged)
}
@objc func moveRight(_ sender: UISlider) {
let currentValue = Int(sender.value)
print("ben:",currentValue)
}
}
首先 你需要在你设置 [=11=].translatesAutoresizingMaskIntoConstraints = false
时给那个滑块定位约束,比如 top , leading 和 width ,这会使设置 frame
无效,否则评论它并离开 frame
行
Second 滑块 minimumValue
, maximumValue
的默认值分别为 0,1 因此您需要根据需要设置它们
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(move)
move.minimumValue = 10
move.maximumValue = 50
move.frame = CGRect(x: view.center.x-115, y: view.center.y+200, width: 200, height: 30)
move.addTarget(self, action: #selector(moveRight), for: .valueChanged)
}
@objc func moveRight(_ sender: UISlider) {
let currentValue = Int(sender.value)
print("ben:",currentValue)
}
我的代码使用了一个已编程的滑块,我想在 Xcode 的调试部分找到该值。除了 "ben: 0",我在调试区域中没有看到任何东西。如果我将滑块移动到右侧部分的末尾,它会显示 "ben" 1" 但这是我看到的唯一被更改的值。这就是所有代码,因此您只需复制到 Xcode项目,不需要故事板。
import UIKit
class ViewController: UIViewController {
var move = UISlider()
override func viewDidLoad() {
super.viewDidLoad()
[move].forEach({
[=10=].translatesAutoresizingMaskIntoConstraints = false
self.view.addSubview([=10=])
})
move.frame = CGRect(x: view.center.x-115, y: view.center.y+200, width: 200, height: 30)
move.addTarget(self, action: #selector(moveRight), for: .valueChanged)
}
@objc func moveRight(_ sender: UISlider) {
let currentValue = Int(sender.value)
print("ben:",currentValue)
}
}
首先 你需要在你设置 [=11=].translatesAutoresizingMaskIntoConstraints = false
时给那个滑块定位约束,比如 top , leading 和 width ,这会使设置 frame
无效,否则评论它并离开 frame
行
Second 滑块 minimumValue
, maximumValue
的默认值分别为 0,1 因此您需要根据需要设置它们
override func viewDidLoad() {
super.viewDidLoad()
self.view.addSubview(move)
move.minimumValue = 10
move.maximumValue = 50
move.frame = CGRect(x: view.center.x-115, y: view.center.y+200, width: 200, height: 30)
move.addTarget(self, action: #selector(moveRight), for: .valueChanged)
}
@objc func moveRight(_ sender: UISlider) {
let currentValue = Int(sender.value)
print("ben:",currentValue)
}