【问题标题】:1St value does not select in picker view1St 值未在选取器视图中选择
【发布时间】:2011-05-11 07:10:41
【问题描述】:

嗨 当单击一个按钮选择器视图出现时,我有一些按钮,但如果它滚动则不选择第一个值,然后只选择第一个值,所以请帮助我

这是我的代码

- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {



    switch (tagVlaue) {

    case 0:
    { 
        if(gender==YES)
       {

           NSLog(@"Selected Color: %@. Index of selected color: %i", [checkArray objectAtIndex:row], row);

           selectedgender=[checkArray objectAtIndex:row];
           NSLog(@"selected checkgender %@",selectedgender);
           genderlabel.text=selectedgender;
          // checkgender=NO;
       }
     else 
         {

             NSLog(@"Selected Color: %@. Index of selected color: %i", [genderArray objectAtIndex:row], row);

             selectedgender=[genderArray objectAtIndex:row];
             NSLog(@"selected gender %@",selectedgender);
             genderlabel.text=selectedgender;
            // checkgender=YES; 


        }
        //genderlabel
    }
        break;
    case 1:
    {
        if(gender==NO)
        {
        NSLog(@"Selected Color: %@. Index of selected color: %i", [seekingArray objectAtIndex:row], row);   
        selectedseek=[seekingArray objectAtIndex:row];
        NSLog(@"selected seeking %@",selectedseek);
        seeklabel.text=selectedseek;
        }
        else {
            NSLog(@"Selected Color: %@. Index of selected color: %i", [seekCheckArray objectAtIndex:row], row); 
            selectedseek=[seekCheckArray objectAtIndex:row];
            NSLog(@"selected seeking %@",selectedseek);
            seeklabel.text=selectedseek;
        }

    }
        break;

    case 2:
        NSLog(@"Selected Color: %@. Index of selected color: %i", [ageArray objectAtIndex:row], row);

        selectedage=[ageArray objectAtIndex:row];
        NSLog(@"selected age %@",selectedage);
        label.text=selectedage;


        break;
    case 3:
        NSLog(@"Selected Color: %@. Index of selected color: %i", [feetArray objectAtIndex:row], row);  
        selectedheight=[feetArray objectAtIndex:row];
        NSLog(@"selected height %@",selectedheight);
        heightlabel.text=selectedheight;


        break;

    case 4:

        NSLog(@"Selected Color: %@. Index of selected color: %i", [weightArray objectAtIndex:row], row);    
        selectedweight=[weightArray objectAtIndex:row];
        NSLog(@"selected weight %@",selectedweight);
        weightlabel.text=selectedweight;

        break;

    case 5:
        NSLog(@"Selected Color: %@. Index of selected color: %i", [enthnicityArray objectAtIndex:row],row);


        selectedethnicity=[enthnicityArray objectAtIndex:row];
        NSLog(@"selected weight %@",selectedethnicity);
        ethnicitylabel.text=selectedethnicity;

        break;

    case 6:
        NSLog(@"Selected Color: %@. Index of selected color: %i", [typeArray objectAtIndex:row],row);


        selectedtype=[typeArray objectAtIndex:row];
        NSLog(@"selected weight %@",selectedtype);
        typelabel.text=selectedtype;

        break;


    default:
        break;
}

感谢提前

【问题讨论】:

  • 请提供更多信息。代码?
  • 什么是tagVlaue??可能是因为这个,把 NSLog 放在默认情况下看看问题...

标签: iphone ios uipickerview


【解决方案1】:

委托方法:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component;

仅当用户显式选择选取器中的值时调用。您必须在您自己首次显示选择器时获取选择器中选择的值。例如,您可以查看选择器数据源。

【讨论】:

  • 您必须保存选择器之前选择的值。
  • 我使用此委托方法,但滚动时不显示第一个值,然后显示第一个值
【解决方案2】:

使用 UIPickerViewDelegate – pickerView:didSelectRow:inComponent: 的委托方法可以知道选择了哪一行,如果用户没有选择任何内容,则不会被调用。

【讨论】:

  • 我使用此委托方法,但滚动时不显示第一个值,然后显示第一个值
  • - (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {NSLog(@"Selected Color: %@. Index of selected color: %i" , [ageArray objectAtIndex:row], row); selectedage=[ageArray objectAtIndex:row]; NSLog(@"选择年龄%@",selectedage); label.text=selectedage;
猜你喜欢
  • 1970-01-01
  • 2021-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 2017-02-01
  • 1970-01-01
相关资源
最近更新 更多