1-ое значение не выбирается в окне выбора - PullRequest
0 голосов
/ 11 мая 2011

Привет У меня есть несколько кнопок при нажатии одной кнопки выбора приложения Viewer, но он не выбирает первое значение, если оно прокручивается, тогда выбрано только первое значение, поэтому, пожалуйста, помогите мне

вот мой код

- (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;
}

спасибо за продвижение

Ответы [ 2 ]

1 голос
/ 11 мая 2011

Метод делегата:

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

вызывается только тогда, когда пользователь явно выбирает значение в средстве выбора.Вы должны получить значение, выбранное в средстве выбора, когда оно впервые отображается самим.Например, вы можете посмотреть на источник данных выбора.

0 голосов
/ 11 мая 2011

Используйте метод делегата UIPickerViewDelegate – pickerView:didSelectRow:inComponent:, чтобы узнать, какая строка была выбрана, если пользователь ничего не выбрал, это не будет вызвано.

...