【问题标题】:Apple App UIPicker - how to make a multiple UIPicker?Apple App UIPicker - 如何制作多个 UIPicker?
【发布时间】:2011-09-19 04:15:37
【问题描述】:

我想制作多个符合以下要求的 UIPicker -

  1. 制作多个 UIPicker(我们称它们为 Picker1 和 Picker2)

  2. Picker2 的值应根据 Picker1 的值自动更改(例如,我 Picker1 有国家,Piker2 应显示该国家的城市)

  3. 我还想根据从 Picker1 和 Picker2 中选择的值更改 UIView 中的数据(假设我们选择“UK”和城市作为“London”,那么 UIView 应该只讨论“可以访问的地方”伦敦”

我知道这听起来像很多问题 - 非常感谢您的帮助,在此先感谢。

【问题讨论】:

  • 基于 Apple 的 HIG,您可能希望使用不同的数据显示方法,例如 UITableView。
  • 无需创建 2 个不同的 UIPicker,因为它会占用您的内存。只需使用您创建的相同 UIPickerVIew,使用 'tag' 属性使其不同。您还必须更改要显示的数据。作为3号,我不太明白。
  • 我同意 Jumhyn 的观点。转到设置 -> 常规 -> 键盘 -> 国际键盘。这是 Apple 推荐的解决问题的方法。
  • 非常感谢您的回复。似乎我已经在“Iphone 4 Development.pdf”一书中名为“实现多组件选择器”的部分中找到了我的问题的确切答案,我将同样如此,并会回来。再次非常感谢您的回复:-)。

标签: iphone iphone-sdk-3.0 ios4


【解决方案1】:

首先,您的 ViewController(带有选择器的那个)应该实现 UIPickerViewDelegate。 你应该使用这种方法:

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component

每次更改选择器任何组件上的选定行时都会调用它。 例如,当它被调用时,您应该将 UIView 元素更改为适当的值。 这也是像这样重新加载您的选择器的 Component2(或任何您想调用的名称)的时刻。

[picker reloadComponent:2];

[picker reloadAllComponents];

【讨论】:

  • 谢谢尼古拉,我一定会暗示这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多