Iphone UIPickerView-更改组件宽度

Iphone UIPickerView-更改组件宽度,iphone,cocoa-touch,uipickerview,Iphone,Cocoa Touch,Uipickerview,在我的iPhone应用程序中,我想要一个包含2个组件的UIPickerView。最初,左列较宽,右列较窄,以便于阅读左侧的文本,从而从中进行选择 选择此列后,用户将单击右列以从中选择项目:发生这种情况时,我希望调整列的大小,以便左列较窄,右列较宽,以便可以读取所有文本 我一直在尝试使用“pickerView widthForComponent”,但这似乎只有在最初加载视图时才会被调用 是否有任何方法可以动态调整列的大小 谢谢您可以使用[pickerView reloadAllComponents

在我的iPhone应用程序中,我想要一个包含2个组件的UIPickerView。最初,左列较宽,右列较窄,以便于阅读左侧的文本,从而从中进行选择

选择此列后,用户将单击右列以从中选择项目:发生这种情况时,我希望调整列的大小,以便左列较窄,右列较宽,以便可以读取所有文本

我一直在尝试使用“pickerView widthForComponent”,但这似乎只有在最初加载视图时才会被调用

是否有任何方法可以动态调整列的大小


谢谢

您可以使用[pickerView reloadAllComponents]

更新:


真奇怪。您也可以尝试检查以下内容。

仅重新加载无法工作。您还需要调用setNeedsLayout

[pickerView reloadAllComponents];
[pickerView setNeedsLayout];

我试过了,但是“pickerView widthForComponent”再也没有接到电话了。嗨,科帕斯-非常感谢!该解决方案起到了作用:-)在“didSelectRow”中添加“self.pickerView.delegate=nil;self.pickerView.delegate=self;”重置选择器的委托会导致重新绘制组件宽度。请参阅更新的答案。因此,是时候接受答案了,因为这是一个正确的解决方案;)