Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you shrink a UIPickerView on the iPhone?

Tags:

I would like to reduce the height of a UIPickerView in my iPhone app, so that it shows only one row and one column. The height of the picker view should be equal to the height of a row.

I'm using Interface Builder to construct the UIPickerView, but I can't find an easy way to re-size this control.

How do you shrink a UIPickerView?

like image 598
Rahul Vyas Avatar asked May 25 '09 09:05

Rahul Vyas


1 Answers

Actually, you can slightly shrink the whole UIPickerView by applying an affine transform to an enclosing view. For example:

CGSize pickerSize = [pickerView sizeThatFits:CGSizeZero];  pickerTransformView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, pickerSize.width, pickerSize.height)]; pickerTransformView.transform = CGAffineTransformMakeScale(0.75f, 0.75f);  [pickerTransformView addSubview:pickerView]; [self.view addSubview:pickerTransformView]; [pickerTransformView release]; 

will scale a picker to 75% of its original size by placing it within a containing view and applying a scaling transform to that view. Applying a transform directly to the UIPickerView leads to undesirable drawing artifacts.

However, the kind of resizing you're looking for would be best served by creating a custom control.

like image 84
Brad Larson Avatar answered Sep 26 '22 03:09

Brad Larson