Search code examples
iphoneios5uipickerview

How do I open one of the many View controllers on selection of a UIPickerPicker view


I am creating an app in IOS5 using storyboards. I created a UiPickerView and when an option is selected I want to open one of the many UIViewControllers. I just want the user to select which view controller he wants to use. How do I go about connecting multiple view controllers.

Thanks Prerna


Solution

  • Please use the following delegates and data sources for your picker view

    - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
    
            if(button_Number == 1)
            {
                UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 280, 30)];
    
                NSString *nameStr=[arr_countryName objectAtIndex:row];
                // NSString *nameStr=[programNameArr objectForKey:@"programname"];
                label.text = nameStr;
                label.font = [UIFont boldSystemFontOfSize:14.0f];
                label.textAlignment = UITextAlignmentLeft;
                label.backgroundColor = [UIColor clearColor];
                [label autorelease];
                return label;
            }
            if (button_Number == 2)
            {
                UILabel *label =[[UILabel alloc]initWithFrame:CGRectMake(0, 0, 280, 30)];
    
                NSString *nameStr=[arr_currencyCode objectAtIndex:row];
                // NSString *nameStr=[programNameArr objectForKey:@"programname"];
                label.text = nameStr;
                label.font = [UIFont boldSystemFontOfSize:18.0f];
                label.textAlignment = UITextAlignmentLeft;
                label.backgroundColor = [UIColor clearColor];
                [label autorelease];
                return label;
            }
    }
    
    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
            //return (NSString*)[clientListArray objectAtIndex:row];
    
            if(button_Number == 1)
            {
                return (NSString*)[arr_countryName objectAtIndex:row];
            }
            if (button_Number == 2)
            {
                return (NSString*)[arr_currencyCode objectAtIndex:row];
            }
    }
    
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
            return 1;
    }
    
    -(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
    
            if(button_Number == 1)
            {
                return [arr_countryName count];
            }
            if (button_Number == 2)
            {
                return [arr_currencyCode count];
            }
    }
    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
    
            selectedScrollIndex = row;
    
            // clientNameTxtFld.text = [clientListArray objectAtIndex:row];
    
            // LBL.text = [clientListArray objectAtIndex:row];
    }
    - (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
        {
            if(buttonIndex == 0)
            {
    
            }
    
            if (buttonIndex == 1 && button_Number == 1)
            {
                countryTxtFld.text = [arr_countryName objectAtIndex:selectedScrollIndex];
                //selected_Client_ID = [clientIDArray objectAtIndex:selectedScrollIndex]; 
    
                selectedScrollIndex = 0;
            }
    
            if (buttonIndex == 1 && button_Number == 2)
            {
                currencyTxtFld.text = [arr_currencyCode objectAtIndex:selectedScrollIndex];
                //selected_Client_ID = [clientIDArray objectAtIndex:selectedScrollIndex]; 
    
                selectedScrollIndex = 0;
            }
    }