how to add UIPickerView in UIActionSheet

33,306

Solution 1

First of all, I think you might be confusing a UIPickerView with a UIDatePickerView. The date picker is a specialized picker that can't be customized while a UIPickerView is made specifically to be customized. Marc W is right in his comment. I answered this question before and feel it offers a better solution than trying to add the picker to the UIActionSheet.

There are lots of UIPickerView tutorials out there.

Solution 2

actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self     cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;


    picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0,40, 320, 216)];
    picker.showsSelectionIndicator=YES;
    picker.dataSource = self;
    picker.delegate = self;
    picker.tag=SelectedDropDown;
    [actionSheet addSubview:picker];

UIToolbar *tools=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0,320,40)];
tools.barStyle=UIBarStyleBlackOpaque;
[actionSheet addSubview:tools];
[tools release];


UIBarButtonItem *doneButton=[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(btnActinDoneClicked)];
doneButton.imageInsets=UIEdgeInsetsMake(200, 6, 50, 25);
UIBarButtonItem *flexSpace= [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

NSArray *array = [[NSArray alloc]initWithObjects:flexSpace,doneButton,nil];

[tools setItems:array];
[doneButton release];
[flexSpace release];

//picker title
UILabel *lblPickerTitle=[[UILabel alloc]initWithFrame:CGRectMake(60,8, 200, 25)];
lblPickerTitle.text=@"";
lblPickerTitle.backgroundColor=[UIColor clearColor];
lblPickerTitle.textColor=[UIColor whiteColor];
lblPickerTitle.textAlignment=NSTextAlignmentCenter;
lblPickerTitle.font=[UIFont boldSystemFontOfSize:15];
[tools addSubview:lblPickerTitle];


[actionSheet showFromRect:CGRectMake(0,480, 320,215) inView:self.view animated:YES];
[actionSheet setBounds:CGRectMake(0,0, 320, 411)];
[actionSheet release];
Share:
33,306
Apache
Author by

Apache

Updated on August 07, 2022

Comments

  • Apache
    Apache almost 2 years

    i'm having task to enter rating(1 - 5) value, so i found the below code for date picker, can anyone help me to alter below code so to add UIPickerView to choose rate from 1 to 5

    UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Ratings" 
                                                  delegate:self
                                         cancelButtonTitle:@"Cancel"
                                    destructiveButtonTitle:nil
                                         otherButtonTitles:nil];
    
    UIDatePicker *pickerView = [[UIDatePicker alloc] init];
    pickerView.datePickerMode = UIDatePickerModeDate;
    
    [menu addSubview:pickerView];
    [menu showInView:self.view];   
    [menu sendSubviewToBack:pickerView];     
    [menu setBounds:CGRectMake(0,0,320, 500)];
    
    CGRect pickerRect = pickerView.bounds;
    pickerRect.origin.y = -100;
    pickerView.bounds = pickerRect;
    
    [pickerView release];
    [menu release];
    

    what to do so text field for ratings will auto entered with selected value from UIPIckerView

    thanks