触摸时扩展 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 创建单个完成和取消按钮?

Touchable类组件

打开键盘时没有触摸任何组件

当用户在功能性反应组件中使用触摸屏时,用按钮隐藏 div

在 Android 上触摸通知时如何导航到特定的 React 组件?

VUE首选哪种共享模板和逻辑的方法?