【问题标题】:UIPickerView row selectionUIPickerView 行选择
【发布时间】:2010-03-01 14:32:26
【问题描述】:

我有一个包含两个组件的 UIPickerView。 当用户滚动每个组件直到达到所需值时,它工作正常。 但我希望它表现得像日历或时钟应用程序中的选择器。含义:当用户在其中一个组件中按下某个值时,我希望该组件自动将该行变为所选行(因此用户不必总是滚动,他/她也可以简单地选择该值他们想要)。

有人知道怎么做吗?

谢谢,

~叮当

【问题讨论】:

标签: iphone uipickerview


【解决方案1】:

这是标准的选择器行为,它应该自动工作。

如果您的选择器没有自动选择被点击的行,请尝试将您从选择器数据源中的viewForRow: 方法返回的视图的userInteractionEnabled 属性设置为NO

【讨论】:

  • 我使用带有 UILabel 的 UIView 作为 viewForRow 的返回值。我尝试为 UILabel 和 UIView 添加 userInteractionEnabled 但它似乎没有帮助。你能想到其他选择吗?
  • 你能发布你的 viewForRow: 方法吗?
  • if (component == 0) { Style *curStyle = [self.styleArray objectAtIndex:row]; // 为当前部分创建视图 CGRect frame = CGRectMake(0, 0, 120, 46); UIView *view = [[UIView alloc] initWithFrame:frame]; // 添加部件名称 frame = CGRectMake(10, 0, 110, 46); UILabel *lbl = [[UILabel alloc] initWithFrame:frame]; lbl.text = curStyle.styleName; lbl.backgroundColor = [UIColor clearColor]; [查看 addSubview:lbl]; [磅释放]; view.userInteractionEnabled = YES;返回视图; } 否则返回 [self.partsArray objectAtIndex:row];
  • 很抱歉,我之前遇到过类似的问题,并根据记忆发布了解决方案,但记住了一般方法并完全混淆了细节。查看更新的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多