更改 UIPickerView 行高

Posted

技术标签:

【中文标题】更改 UIPickerView 行高【英文标题】:Changing UIPickerView row height 【发布时间】:2011-06-18 18:16:16 【问题描述】:

我正在为我正在参加的课程开发一个程序,该程序的一部分需要一个带有图像的UIPickerView。我已经启动并运行了选择器,但选择器中的行高度仍然太小,导致图像 (100x100) 重叠。我正在寻找一种更改UIPickerView 的方法,以便图像可以排成一行,而不会重叠。谢谢

【问题讨论】:

UIPickerView rowSizeForComponent: 方法? 【参考方案1】:

在UIPickerView 的文档中,您有一个指向UIPickerViewDelegate 协议的链接。有一个方法可以实现,pickerView:rowHeightForComponent:

【讨论】:

这正是我要找的,但我从来不知道方法名称。谢谢! @Paul Woidke :尝试在按下命令键的情况下双击类名、协议(在本例中为<UIPickerViewDelegate>)。它会将您发送到相应的 H 文件。 Command + Option + 双击:将在助手编辑器中打开它(XCode 4 及更高版本..)【参考方案2】:

使用该方法,提供默认为delegete方法。

objective-C

- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component

    return 40;

在 Swift 中:

func pickerView(pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat 
   
    return 40

更多访问:real world implementation

【讨论】:

是否可以为不同的行设置不同的高度? @ZhouHao 没试过也不确定:)。如果我有时间,我会尽量告诉你。这几天有点忙。对此感到抱歉。

以上是关于更改 UIPickerView 行高的主要内容,如果未能解决你的问题,请参考以下文章

UIPickerView的使用

点击 uipickerview 时键盘不退出

UIPickerView 最佳实践?

如何使用 Swift 3 UIPickerView 引用多行?

UIPickerView 在重新加载时冻结 UI

在 iPhone 上水平滚动的 UIPickerView?