2

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

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

4

4 回答 4

3

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

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

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

于 2013-03-29T05:59:28.020 回答
0

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

picketView.transform = CGAffineTransformMakeScale(1, 0.70);

上面的代码将缩放UIPickerView.

于 2013-03-29T06:02:18.157 回答
0

Apple 没有提供直接的方法,允许我们UIPickerView使用setFrame.

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

希望这对您有所帮助。

于 2013-03-29T06:02:44.167 回答
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));
于 2013-03-29T06:23:22.620 回答