// IBAction для управления сегмента, чтобы изменить значение в меткеЯ хочу использовать pickerview в управлении сегментом, так что когда я переключаю данные о сборщиках сегментов, также меняются. вот мой код:
@IBAction func changeValueSC(_ sender: Any) {
switch segmentControl.selectedSegmentIndex {
case 0:
questionLabel.text = "HAS FOOD INTAKE DECLINED OVER THE PAST 3 MONTHS, DUE TO LOSS OF APPETITE, DIGESTIVE PROBLEMS, CHEWING OR SWALLOWING DIFFICULTIES ?"
//[self, pickerView(pickerView, titleForRow: 5, forComponent: 1)!] as [Any]
case 1:
questionLabel.text = "WEIGHT LOSS DURING THE PAST 3 MONTHS ?"
case 2:
questionLabel.text = "MOBILITY"
case 3:
questionLabel.text = "HAVE YOU SUFFERED PSYCHOLOGICAL STRESS OR ACUTE DISEASE IN THE PAST 3 MONTHS ?"
case 4:
questionLabel.text = "NUEROPSYCHOLOGICAL PROBLEMS"
default:
break
}
}
// обязательные методы pickerview
public func numberOfComponents(in pickerView: UIPickerView) -> Int{
return 1
}
// options1, Options2 ..... options5 являются массивы типа строка
public func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int{
switch segmentControl.selectedSegmentIndex {
case 0:
return options1.count
case 1:
return options2.count
case 2:
return options3.count
case 3:
return options4.count
case 4:
return options5.count
default:
return 0
}
}
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String?{
switch segmentControl.selectedSegmentIndex {
case 0:
return options1[row]
case 1:
return options2[row]
case 2:
return options3[row]
case 3:
return options4[row]
case 4:
return options5[row]
default:
return ""
}
}
, когда я меняюсь сегмент данные метки меняются, но данные не отображаются в окне просмотра захватывающего
screenshot of the view controller
У меня есть то же решение, что и у Андреаса Оетена, вы можете поделиться своим массивом – Deepak