Search code examples
iphoneuipickerview

How to use UIPickerView on second ViewController


" I am creating a application for IPhone in which I have to creat a login page. after getting the response from the server..it will navigate the user to next view. in next view, i m using a UIPickerView. but it is not working.. becoz i only know that how to use it in individual app . but i dont knw how to use it in second ViewController of the application??"


Solution

  • You can getPicker using this

    -(void)getValuePicker
    {
        ViewForValuePicker = [[UIView alloc]initWithFrame:CGRectMake(0, 219, 320, 266)];
    
        UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
        toolBar.barStyle = UIBarStyleBlackOpaque;
    
        UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneBtnPressToGetValue)];
    
        [toolBar setItems:[NSArray arrayWithObject:btn]];
        [ViewForValuePicker addSubview:toolBar];
    
    
        valuePicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 44, 320, 216)];
        valuePicker.delegate=self;
        valuePicker.dataSource=self;
        valuePicker.showsSelectionIndicator=YES;
    
        [ViewForValuePicker addSubview:valuePicker];
    
        [appDelegate.window addSubview:ViewForValuePicker];
    }  
    

    And its Delegete Method

    -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
    {
        return 1;
    }
    
    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component;
    {
        return [pickerValueAry count];
    }
    
    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component;
    {
        NSMutableArray *ary = [[NSMutableArray alloc] initWithArray:pickerValueAry];
        id str=[ary objectAtIndex:row];
        return str;
    }
    
    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
    {    
        NSLog(@"selectedRowInPicker >> %d",row);
    }