Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIPickerView Height not changeable [duplicate]

I'm trying to change PickerView's height

self.pickerView = [[UIPickerView alloc] init];
self.pickerView.frame = CGRectMake(0, 0, frame.size.width, frame.size.height);

Xcode log shows the following message:

-[UIPickerView setFrame:]: invalid height value 274.0 pinned to 216.0 

How can I change its height?

like image 954
jkigel Avatar asked Sep 18 '12 08:09

jkigel


1 Answers

here are only three valid heights for UIPickerView (162.0, 180.0 and 216.0).

You can use the CGAffineTransformMakeTranslation and CGAffineTransformMakeScale functions to properly fit the picker to your convenience.

Example:

CGAffineTransform t0 = CGAffineTransformMakeTranslation (0, pickerview.bounds.size.height/2);
CGAffineTransform s0 = CGAffineTransformMakeScale       (1.0, 0.5);
CGAffineTransform t1 = CGAffineTransformMakeTranslation (0, -pickerview.bounds.size.height/2);
pickerview.transform = CGAffineTransformConcat          (t0, CGAffineTransformConcat(s0, t1));

The above code change the height of picker view to half and re-position it to the exact (Left-x1, Top-y1) position.

Refer more here.

like image 137
Paresh Navadiya Avatar answered Sep 20 '22 09:09

Paresh Navadiya