Return numberOfRowsInComponent & titleForRow in UIPickerview 基于另一个 UIpickerview 的 didSelectRow
Return numberOfRowsInComponent & titleForRow in UIPickerview based on another UIpickerview's didSelectRow
大家好,
我尝试在主题行中解释我的查询。
据我了解和我在代码中看到的内容,所有 pickerviews 都在 ViewDidLoad() 中初始化,这意味着它们都有自己的数据集。
作为我的数据验证的一部分,这在这种情况下非常重要,我想根据之前的选择设置以下选择器视图。
我卡住的地方是用 'new' 数据填充以下 pickerview 的标题并重新加载视图。
理想情况下,我希望视图显示为之前的选择。
如果您知道如何从逻辑上做到这一点,请告诉我,我将不胜感激目前能得到的任何帮助!
我不太确定您的逻辑含义,但您只是使用 if 语句和开关来确定已选择的内容以及根据该选择显示的内容。然后你重新加载数据。
func pickerView(pickerView: UIPickerView,
didSelectRow row: Int,
inComponent component: Int)
{
if component == 0
{
switch row{
case 0:
self.titlesForComponentOne = ["One","Two","Three","Four"]
case 1:
self.titlesForComponentOne = ["One","Two"]
default:
self.titlesForComponentOne = ["One","Three","Four"]
}
}else if component == 1
{
switch row{
case 0:
self.titlesForComponentTwo = ["Three", "Four"]
case 1:
….
self.picker.reloadAllComponents() // or just ones that need to be updated
}
func pickerView( pickerView: UIPickerView,
numberOfRowsInComponent component: Int) -> Int
{
switch component{
case 0:
return self.titlesForComponentZero.count
case 1:
return self.titlesForComponentOne.count
case 2:
….
}
大家好,
我尝试在主题行中解释我的查询。 据我了解和我在代码中看到的内容,所有 pickerviews 都在 ViewDidLoad() 中初始化,这意味着它们都有自己的数据集。 作为我的数据验证的一部分,这在这种情况下非常重要,我想根据之前的选择设置以下选择器视图。
我卡住的地方是用 'new' 数据填充以下 pickerview 的标题并重新加载视图。
理想情况下,我希望视图显示为之前的选择。
如果您知道如何从逻辑上做到这一点,请告诉我,我将不胜感激目前能得到的任何帮助!
我不太确定您的逻辑含义,但您只是使用 if 语句和开关来确定已选择的内容以及根据该选择显示的内容。然后你重新加载数据。
func pickerView(pickerView: UIPickerView,
didSelectRow row: Int,
inComponent component: Int)
{
if component == 0
{
switch row{
case 0:
self.titlesForComponentOne = ["One","Two","Three","Four"]
case 1:
self.titlesForComponentOne = ["One","Two"]
default:
self.titlesForComponentOne = ["One","Three","Four"]
}
}else if component == 1
{
switch row{
case 0:
self.titlesForComponentTwo = ["Three", "Four"]
case 1:
….
self.picker.reloadAllComponents() // or just ones that need to be updated
}
func pickerView( pickerView: UIPickerView,
numberOfRowsInComponent component: Int) -> Int
{
switch component{
case 0:
return self.titlesForComponentZero.count
case 1:
return self.titlesForComponentOne.count
case 2:
….
}