触摸时扩展 PickerViews 组件
Posted
技术标签:
【中文标题】触摸时扩展 PickerViews 组件【英文标题】:Extend PickerViews Component while touching 【发布时间】:2010-05-18 15:55:53 【问题描述】:我有一个 UIPickerView 可以显示可变数量的组件。在它的控制器中我有这个-pickerView:withForComponent:
- (CGFloat)pickerView:(UIPickerView *)pv widthForComponent:(NSInteger)component
CGFloat f;
if (component == 0)
f = 30;
else
if ([componentsData count]>2)
f = 260.0/([componentsData count]-1);
else
f = 260.0;
return f;
如果我调用[pickerView reloadAllComponents]
,这可以正常工作,但是如果触摸组件宽度(当然缩小所有其他组件),我该如何扩展它?
【问题讨论】:
【参考方案1】:为此,即使您的选择器选项都是文本,您也必须使用
pickerView:viewForRow:forComponent:reusingView:
您基本上需要为您的选择器选项生成一组 UIView,并将它们保留在一个数组中。 Then, when a row is selected, expand that UIView directly, and iterate through the array, contracting the others accordingly.
【讨论】:
以上是关于触摸时扩展 PickerViews 组件的主要内容,如果未能解决你的问题,请参考以下文章
如何为所有 PickerViews 创建单个完成和取消按钮?