【问题标题】:UIPicker with UITextField带有 UITextField 的 UIPicker
【发布时间】:2012-06-30 10:19:47
【问题描述】:

我进行了研究,这里的所有帖子都对这个问题非常模糊。 我想在按下 UITextField 时使用 UIPicker。 我真的会逐步指导。

我在这里尝试了所有帖子,但每个帖子只提供了我需要的一部分,我似乎无法将它们全部联系在一起。

这是我申请的最后一部分,我要疯了。

谢谢你!

盖尔

【问题讨论】:

  • 你真的可以按 UITextfield 吗?而你想从picker那里得到什么,应该怎么做?
  • 我创建了一个方便的 UITextField 子类 PickerTextField:github.com/CullenSUN/PickerTextField。这可能有助于寻找类似的人

标签: objective-c ios xcode uitextfield uipickerview


【解决方案1】:

有一个 inputAccessoryView 属性,其中包含一个视图,而不是屏幕底部的键盘。创建一个 UIPicker,调整其框架,提供值并将其分配给 inputAccessoryView 属性。

UIPicker 将在用户点击您的 UITextField 时出现。

如果您不需要编辑,您可以使用 UILabel 代替 UITextField。解决方法是一样的。如果你需要,我有一个现成的课程。

【讨论】:

  • 也是一个很好的解决方案。找到相关内容:stackoverflow.com/questions/8974131/…
  • 实际上我将它用于日期选择器,似乎无法让它在 UIPicker 上工作.. Tnx 无论如何..
  • UIPicker 有什么问题?
  • 我的意思是有任何错误信息或什么的吗?你看到了什么?如果将 UIPicker 添加为子视图而不是 inputaccessory,它是否正确显示在屏幕上?
【解决方案2】:

这是一种方法:

http://www.youtube.com/watch?v=t_F1ex5opgA&t=14m10s

-(BOOL)textfieldShouldBeginEditing:(UITextField *)textField
  • textField 是您的文本字段的名称。

调用您的 UIPickerView 并返回 NO,以便加载您的选择器而不是键盘。

【讨论】:

  • 我试过了,我有 3 个 UITextField。 1是普通键盘。 2 我希望它是一个 UIPikcer。 3 是一个 UIDatePicker (适用于您发布的解决方案..
【解决方案3】:

这个想法是在用户点击 UITextField 时调用一个打开 UIPicker 的操作。因为 UITextField 不响应 UIButton 响应的通常 touchUpInside 事件,所以我将在 UITextField 顶部覆盖一个透明的 UIButton,以防万一,将文本字段的 userInteractionEnabled 属性设置为 NO。钩住 UIButton 以响应 touchUpInside 并调用打开 UIPicker 的方法。另一种选择是通过实施“textFieldShouldBeginEditing”立即响应文本字段的触摸并立即退出文本字段。

下一步是展示 UIPicker - 如果我们谈论的是 iPad,最好使用 UIPopoverController 来完成。在 iPhone 上,也许考虑以模态方式启动它。当您创建包含此 UIPicker 的视图控制器时,请确保向其添加委托属性,以便在选取器上选择的任何值都可以传输回主视图控制器并传输到 UITextField。

希望这有助于您入门。

【讨论】:

  • 嗨 Stav,我如何私下联系你?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多