2012-11-02 6 views
1

Xcode를 처음 사용했습니다. 하나의보기에서 두 개의 UIPickerView를 작성하려고합니다. 첫 번째 UIPickerView의 데이터가 원하는대로 나오지만 두 번째 UIPickerView에서 데이터를 가져올 수 없습니다. 하나의 피커에는 하나의 구성 요소가 있고 다른 피커에는 두 개의 구성 요소가 있습니다.하나의보기에서 두 UIPickerViews

- (NSInteger)numberOfComponentsInPickerView: 
(UIPickerView *)pickerView 
{ 
if (pickerView == showData) 
    return 1; 
else 
    return 2; 

} 


- (NSInteger)pickerView:(UIPickerView *)pickerView 
numberOfRowsInComponent:(NSInteger)component 
{ 
if (pickerView == showData) 

switch (tapButton) { 

    case 1: 
     return [countryData count]; 
     break; 
    case 2: 
     return [serviceData count]; 
     break; 
    case 3: 
     return [budgetData count]; 
     break; 
    default: 
     return 0; 
    } 
else { 
    if (component == 0) 
     return [hourTime count]; 
else 
    return [minuteTime count]; 
} 
} 

- (NSString *)pickerView:(UIPickerView *)pickerView 
     titleForRow:(NSInteger)row 
     forComponent:(NSInteger)component 
{ 
if (pickerView == showData) 
switch(tapButton) 
{ 
case 1: 
    return [countryData objectAtIndex:row]; 
    break; 
case 2: 
    return [serviceData objectAtIndex:row]; 
    break; 
case 3: 
    return [budgetData objectAtIndex:row]; 
    break; 
default: 
    return @"nothing"; 
} 

    else { 
    if (component == 0) 
     return [hourTime objectAtIndex:row]; 
    else 
     return [minuteTime objectAtIndex:row]; 
} 



} 
+0

하나 UIPickerView 2 선택기를 얻기 위해 노력하고있다? –

+0

하나의보기에서 두 개의 개별 피커 뷰가 없습니다. –

답변

1
  - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent: 
      (NSInteger)component   
     { 
      if(component ==0) 
      { 
       return [serviceArray count]; 
      } 
      else { 
       if ([Service isEqualToString:@"Hair"]) { 
        return [HairServices count]; 
       } 
       if ([Service isEqualToString:@"Beauty"]) { 
        return [BeautyServices count]; 
       } 
       if ([Service isEqualToString:@"Make Up"]) 
       { 
        return [MakeUpServices count]; 
       } 
       if ([Service isEqualToString:@"Eye lash extensions"]) 
       { 
        return [EyelashServices count]; 
       } 

       else { 
        return [HairServices count]; 
       } 
      } 

      return 0; 

      } 

     - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row 

     { 

      [DisplayArray addObjectsFromArray:HairServices]; 
      if(component ==0) 
      { 
       return [serviceArray objectAtIndex:row]; 
      } 
      else { 
       if ([Service isEqualToString:@"Hair"]) { 
        // NSLog(@"DIS %@",DisplayArray); 
        [DisplayArray removeAllObjects]; 
        [DisplayArray addObjectsFromArray:HairServices]; 
        // NSLog(@" DISPLAY %@", DisplayArray); 

        return [DisplayArray objectAtIndex:row]; 
       } 
       if ([Service isEqualToString:@"Beauty"]) { 
        [DisplayArray removeAllObjects]; 
        [DisplayArray addObjectsFromArray:BeautyServices]; 

        return [DisplayArray objectAtIndex:row];  } 
       if ([Service isEqualToString:@"Make Up"]) 
       { 
        [DisplayArray removeAllObjects]; 
        [DisplayArray addObjectsFromArray:MakeUpServices]; 

        return [DisplayArray objectAtIndex:row]; 
       } 
       if ([Service isEqualToString:@"Eye lash extensions"]) 
       { 
        [DisplayArray removeAllObjects]; 
        [DisplayArray addObjectsFromArray:EyelashServices]; 

        return [DisplayArray objectAtIndex:row]; 
       } 

       else { 
        return [HairServices objectAtIndex:row]; 
       } 
      } 

      return 0; 

      } 
     - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row 
      inComponent:(NSInteger)component 
     { 
      if (component == 0) { 
       Service=[[NSString alloc] initWithFormat:@"%@" , [serviceArray 
        objectAtIndex:row]]; 
       [servicelistPicker reloadComponent:1]; 
      } 



      else 
      { 
       NSLog(@" dis %@",DisplayArray); 
       if([DisplayArray count]>0) 
       { 
        SelectedServices =[NSString stringWithFormat:@"%@,",[DisplayArray 




        NSLog(@"%@",DisplayArray); 
        //[TempString appendString:SelectedServices]; 
        ServicesTxt.text = SelectedServices; 
        ServicesTxt.font = [UIFont boldSystemFontOfSize:13]; 
       } 

      } 
     } 
관련 문제