8

PickerViewの高さを変更しようとしています

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 

高さを変更するにはどうすればよいですか?

4

4 に答える 4

30

ここはのためだけthree valid heightsですUIPickerView (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は、heightpicker view to halfre-positionそれを正確な(Left-x1, Top-y1)位置に配置します。

詳細はこちらをご覧ください

于 2012-09-18T09:02:26.187 に答える
3

の有効な高さは3つだけですUIPickerView (162.0, 180.0 and 216.0)

より詳しく。

于 2012-09-18T09:00:08.993 に答える
1

UIPickerの高さには、162.0、180.0、216.0の3つの有効な値しかありません。異なる高さを設定した場合でも、指定された高さに最も近いこれら3つの高さのいずれかに高さが設定されます。

于 2012-09-18T09:03:12.540 に答える
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];
于 2012-09-18T09:27:13.687 に答える