问题描述
我想在uiSlider更改时设置标签,但是当我在valueChanged中设置标签时,屏幕冻结或父视图消失。
@IBAction func changedSliderValue(_ sender: UiSlider) {
let value = Int(sliderExtraRepeat.value)
if lastSliderValue != value {
self.labelExtraRepeat.text = String(value) + " tekrar daha gelirdi."
print(String(format: "%.0f",self.sliderExtraRepeat.value))
lastSliderValue = value
}
}
当我在带有标签的行上注释时,滑块可以平滑移动。尽管我奋斗了几个小时,但我仍然找不到原因。
解决方法
首先,是否有必要具有全局变量'lastSliderValue'? 如果没有,建议整体删除全局变量。
尝试一下。
list3 = [a + b for a,b in zip(list1,list2)]
,
您是否尝试过在主线程上更新UI?像这样:-
@IBAction func changedSliderValue(_ sender: UISlider) {
let value = Int(sliderExtraRepeat.value)
if lastSliderValue != value {
DispatchQueue.main.async{
self.labelExtraRepeat.text = String(value) + " tekrar daha gelirdi."
}
print(String(format: "%.0f",self.sliderExtraRepeat.value))
lastSliderValue = value
}
}