views:

1303

answers:

2

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

+2  A: 

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.

Matt Long
Matt - Whilst this works well, it relies on having somewhere to add a button to dismiss the picker elsewhere on the screen (e.g. on the navigation bar). But if the picker were in an action sheet, it would be "self contained" for dismissal.
dermdaly
I was looking at using a picker with a done button just above it; here's a helpful link: http://stackoverflow.com/questions/1262574/add-uipickerview-a-button-in-action-sheet-how
petert
A: 

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.

Jaba
StackOverflow is a little different than other message forums that you may be used to. You comment by clicking the "add comment" text at the bottom of someone else's answer, not by creating another answer. Welcome, this site is awesome.
willc2
I found that out the hard way thanks though, and this site is Awsome
Jaba