gpt4 book ai didi

ios - Swift - UISlider 不会改变它的值

转载 作者:行者123 更新时间:2023-11-30 12:20:09 24 4
gpt4 key购买 nike

我以编程方式创建了一个 UISlider,并创建了一个每当我更改 slider 值时都会运行的操作。这些操作打印出 slider.value。问题是打印出来的值始终是 0。即使我移动 slider 。这是代码:

import UIKit

class EditVC: UIViewController {

var slider : UISlider {
let frame = CGRect(x: 10, y: 85, width: editView.frame.width - 30, height: 20)
let slider = UISlider(frame: frame)
slider.minimumValue = 0
slider.maximumValue = 10
slider.isContinuous = true
slider.addTarget(self, action: #selector(valueChangedFunc), for: .valueChanged)

return slider

}

@objc func valueChangedFunc() {
print(slider.value)
}



override func viewDidLoad() {
super.viewDidLoad()

view.addSubview(slider)
}
}

最佳答案

你可以使用这个代码,我已经测试过它工作正常

override func viewDidLoad()
{
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
createMPSlider()
}

func createMPSlider()
{
let mSlider = UISlider(frame: CGRect(x: 20, y: 200, width: UIScreen.main.bounds.size.width * 0.55, height: 60))
mSlider.addTarget(self, action: #selector(valueChangedOfSlider(slider:)), for: .valueChanged)
view .addSubview(mSlider)
}

func valueChangedOfSlider(slider: UISlider)
{
print(slider.value)
}

上面的代码工作正常。您需要做的就是复制 createMPSlider() 和 valueChangedOfSlider(slider: UISlider) 这两个完整的函数并将其粘贴到 View Controller 上,然后从 viewDidLoad 调用 createMPSlider() 它将起作用。如果您愿意,可以在顶部声明是否要更改自定义 slider 或使用它的实例。

关于ios - Swift - UISlider 不会改变它的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com