views:

2521

answers:

2

I would like to do some customization of the UIPickerView.

End Goal: have a picker view rotating a few icon sized images.

firstly i would like to change the black/grey boarder surrounding the spindle to a transparent colour. i.e. [UIColor clearColor];

Then shrink the picker view down so it is relatively small, (probably around 40 x 40 pixels) Experimenting with this is IB did not make it seem easy.

Finally change the view returned to the picker for each section. This i think is easy with

pickerView:viewForRow:forComponent:reusingView:

The rest, not sure if it is possible or if i am going to have to delve into some of the core animation/graphics (or find a different way to do what i want).

+3  A: 

UIPickerView is not customizable. At all.

You'll have to go custom for what you want.

Perhaps the easiest way would be to mess with an UIScrollView with vertical pagination enabled, and try to get it to act like you want. Maybe overlap an UIImageView with it and wrap the whole thing up in a custom view.

Kenneth Ballenegger
I thought that may have been the case. Thanks for the Paging scroll view idea.
Bluephlame
Actually if you really want to, the Picker View *can* be customized by grabbing a refrance to it's View through UIWindow it lives in, and then walking down the subview tree. That is the same technique people use to customize other custom views apple provides, such as the movie player and image picker. However, doing that exposes yourself to an app that could break easily on upgrades to the iPhone OS. If you are writing a hobby app, I'd do it, but if you are building something for the App Store, you are better off investing the time in creating a custom view.
Brad Smith
+2  A: 

Many apps use tiny horizontal pickers:

http://images.macworld.com/images/reviews/graphics/143531-dr%5Fdof%5Foriginal.jpg

Donna