更改UIPickerView中显示的行数

时间:2013-03-29 05:54:29

标签: ios objective-c ios5 ios6 uipickerview

有没有办法将UIPickerView中显示的行数从5更改为4?在IB中,选择器的高度似乎不可调整,我找不到任何委托方法来控制它。

请注意,我询问的是显示的行数,而不是组件中的行数。

4 个答案:

答案 0 :(得分:3)

您可以使用以下UIPickerview方法在UIPickerViewDelegate中设置行的高度

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
  return 60.0f;
}

我不确定显示四行所需的确切高度。可能只需要摆弄它,直到你做对了!

答案 1 :(得分:0)

如果您想设置UIPickerView的高度,则可以使用:

picketView.transform = CGAffineTransformMakeScale(1, 0.70);

以上代码将缩放UIPickerView

答案 2 :(得分:0)

Apple没有给出直接的方法,允许我们使用UIPickerView更改setFrame高度。

但是有两种方法可以实现相同的目标:

希望这会对你有所帮助。

答案 3 :(得分:0)

你不能搞砸uipickerview高度,原因是一旦你改变了高度,你必须重新调整每一行的行大小和字体,以便它们清楚地单独显示。 UiPickerview只有三个有效高度(162.0,180.0和216.0)。但是,您可以通过以下

更改高度
CGAffineTransform t0 = CGAffineTransformMakeTranslation (0, mypickview.bounds.size.height/2);
CGAffineTransform s0 = CGAffineTransformMakeScale       (1.0, 0.5);
CGAffineTransform t1 = CGAffineTransformMakeTranslation (0, -mypickview.bounds.size.height/2);
mypickview.transform = CGAffineTransformConcat          (t0, CGAffineTransformConcat(s0, t1));