How do I make a UIPickerView in a UIActionSheet

14,746

You don't want to do that. Instead, create your UIPickerView in Interface Builder and connect it to an Outlet in your view controller. Add it as a subview of your main view and set its frame coordinates so that it is offscreen just below the bottom edge, x=0, y=480.

Then, when you want to display the picker, animate it onto the screen with something like:

[UIView beginAnimations:nil context:NULL];
[colorPicker setFrame:CGRectMake(0.0f, 416.0f, 320.0f, 216.0f)];
[UIView commitAnimations];

And then hide it when you're done picking with this:

[UIView beginAnimations:nil context:NULL];
[colorPicker setFrame:CGRectMake(0.0f, 480.0f, 320.0f, 216.0f)];
[UIView commitAnimations];

This will cause your picker to slide up from the bottom animated and slide back down when you're done.

I don't think adding a picker to a UIActionSheet, if it's even possible, is advisable.

Share:
14,746
Jab
Author by

Jab

Daily grind by day, code hobbiest by night, I truly enjoy helping others and myself become better programmers! Some of my favorite answers by far: How to remove all string elements from a list of integers, with strings next to integer Create UIActionSheet 'otherButtons' by passing in array, not varlist Python Pandas: Does 'loc' and 'iloc' stand for anything? Placeholder objects in Interface Builder Trying to use multiple arguments for .append, anyway how? How to make nested enum also have value

Updated on June 29, 2022

Comments

  • Jab
    Jab almost 2 years

    Just want to know how I would make a UIPickerView in a UIActionSheet with a simple array.


    Ok well I actually found out how to put it into an action sheet but I like your way better because it applies more to my app, thanks, but I want to also know how put the options into the UIPickerView, I am just hung up on that part of that. I already have an array with the colors: red, green, blue, yellow, black, etc in it but I want to know how to put that into the pickerview if I have already used initwithframe:? Please anyone help I know it is a stupid question but I'm racking my head on my $$$$$$ Macbook.