2012-09-18 32 views
8

मैं PickerView की ऊंचाई बदलने के लिएUIPickerView ऊंचाई नहीं अस्थिर

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

Xcode लॉग निम्न संदेश से पता चलता कोशिश कर रहा हूँ:

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

मैं उसकी ऊंचाई कैसे बदल सकता हूँ?

+0

आप यूआईपीकर व्यू की ऊंचाई नहीं बदल सकते हैं। –

+0

आईओएस 9 पर सबकुछ बदल गया है! http://stackoverflow.com/a/35562894/8047 –

उत्तर

29
यहाँ

केवल threevalidheightsUIPickerView(162.0, 180.0 and 216.0) के लिए कर रहे हैं।

आप CGAffineTransformMakeTranslation और CGAffineTransformMakeScale फ़ंक्शंस का उपयोग अपनी सुविधा के लिए पिकर को उचित रूप से फिट करने के लिए कर सकते हैं।

उदाहरण:

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)); 

ऊपर कोड change सटीक (Left-x1, Top-y1) स्थिति के लिए pickerview to half और यह re-position की height

अधिक here देखें।

4

UIPickerView (162.0, 180.0 and 216.0) के लिए केवल तीन मान्य ऊंचाई हैं।

More detail.

1

यूआईपीकर की ऊंचाई के लिए केवल तीन मान्य मान 162.0, 180.0 और 216.0 हैं। यहां तक ​​कि यदि आप अलग-अलग ऊंचाई निर्धारित करते हैं तो यह ऊंचाई को इन तीन ऊंचाइयों में से एक में सेट कर देगा जो आपकी दी गई ऊंचाई के नजदीक है।

0

इस तरह प्रयास करें। मैंने भी कई उदाहरणों को गुगल किया और इसे पाया।

pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0,250,320,230)];//to change the height 
pickerView.delegate =self; 
pickerView.dataSource =self; 
pickerView.showsSelectionIndicator = YES; 
[self.view addSubview:pickerView];