更新标签时 Pickerview 滞后
Pickerview lag when updating labels
我正在使用选择器视图,并希望在屏幕上更新与当前所选项目相关的内容。
程序代码如下:
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
TeamLabel.text = teams [row]
attackField.text = "\(attacks [row])"
defenseField.text = "\(defenses [row])"
currentRow = row
return teams [row]
}
这会将团队名称、攻击和防御值显示在屏幕上。
但是,当滚动选择器时,我得到了很多错误的结果。文本输出与选择器中当前的内容不匹配。知道我该如何解决这个问题吗?
谢谢。
您使用了错误的委托方法来更新您的文本字段(或标签)。
将 titleForRow
更新为:
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return teams[row]
}
然后实施 didSelectRow
委托方法来更新您的字段:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
TeamLabel.text = teams[row]
attackField.text = "\(attacks[row])"
defenseField.text = "\(defenses[row])"
}
我正在使用选择器视图,并希望在屏幕上更新与当前所选项目相关的内容。
程序代码如下:
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
TeamLabel.text = teams [row]
attackField.text = "\(attacks [row])"
defenseField.text = "\(defenses [row])"
currentRow = row
return teams [row]
}
这会将团队名称、攻击和防御值显示在屏幕上。
但是,当滚动选择器时,我得到了很多错误的结果。文本输出与选择器中当前的内容不匹配。知道我该如何解决这个问题吗?
谢谢。
您使用了错误的委托方法来更新您的文本字段(或标签)。
将 titleForRow
更新为:
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
return teams[row]
}
然后实施 didSelectRow
委托方法来更新您的字段:
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
TeamLabel.text = teams[row]
attackField.text = "\(attacks[row])"
defenseField.text = "\(defenses[row])"
}