Swift 如何将UILabel文本连接到UISlider含义?
我是Swift的新手,尝试以编程方式创建从ºC到ºF的温度转换器。但当我拖动滑块时,我不知道如何改变标签的含义 我试图改变addTarget,但没用。我真的不知道出了什么问题,为什么我的标签仍然是“0ºC”。 这是我的密码:Swift 如何将UILabel文本连接到UISlider含义?,swift,uilabel,swift5,uislider,Swift,Uilabel,Swift5,Uislider,我是Swift的新手,尝试以编程方式创建从ºC到ºF的温度转换器。但当我拖动滑块时,我不知道如何改变标签的含义 我试图改变addTarget,但没用。我真的不知道出了什么问题,为什么我的标签仍然是“0ºC”。 这是我的密码: 谢谢大家! 这很奇怪,因为您声明了一个属性var cLabel:UILabel=UILabel(),但它与viewDidLoad()中的属性不同,您没有声明。他们没有关系。slider.OMG也一样,非常感谢,现在它可以工作了!我只是将这些声明留在类中,不在viewD
谢谢大家! 这很奇怪,因为您声明了一个属性
var cLabel:UILabel=UILabel()
,但它与viewDidLoad()
中的属性不同,您没有声明。他们没有关系。slider.OMG也一样,非常感谢,现在它可以工作了!我只是将这些声明留在类中,不在viewDidLoad中重复它们。这很奇怪,因为您声明了一个属性var cLabel:UILabel=UILabel()
,但它与viewDidLoad()
中的不同,您没有。他们没有关系。slider.OMG也一样,非常感谢,现在它可以工作了!我只是将这些声明留在类中,不在viewDidLoad中重复它们。
class ListVC: UIViewController {
var cLabel : UILabel = UILabel()
var slider : UISlider = UISlider()
override func viewDidLoad() {
super.viewDidLoad()
**// creating label**
let cLabel = UILabel()
cLabel.frame = CGRect(x: 150, y: 250, width: 100, height: 200)
cLabel.textAlignment = .center
cLabel.text = "0ºC"
cLabel.textColor = .black
cLabel.font = UIFont(name: "Apple SD Gothic Neo", size: 25)
self.view.addSubview(cLabel)
self.view = view
**// creating slider**
let slider = UISlider()
slider.frame = CGRect(x: 110, y: 300, width: self.view.frame.width, height: 250)
slider.center = self.view.center
slider.translatesAutoresizingMaskIntoConstraints = false
slider.minimumValue = 0
slider.maximumValue = 100
slider.value = 0
slider.isContinuous = true
slider.isUserInteractionEnabled = true
slider.addTarget(self, action:#selector(sliderValue(sender:)), for: .valueChanged)
self.view.addSubview(slider)
}
**// creating function that had to change label value but something went wrong**
@objc func sliderValue(sender: UISlider) {
cLabel.text = String(sender.value)
}