从 UITextField 单击事件 MonoTouch 在 UIDatePicker 中选择日期

Posted

技术标签:

【中文标题】从 UITextField 单击事件 MonoTouch 在 UIDatePicker 中选择日期【英文标题】:Select date in UIDatePicker from UITextField click event MonoTouch 【发布时间】:2012-08-08 05:34:19 【问题描述】:

首先,我有一个 TextField。当用户单击它时,DatePicker 将出现(在同一文本字段的视图中)。用户选择日期后,DatePicker 应消失,文本字段应显示所选日期。 我已经在 ViewDidLoad 中尝试过这段代码:

    txtTime.TouchDown += (sender, e) => 
    UIDatePicker picker = new UIDatePicker (new RectangleF (0, 20, this.View.Bounds.Width, 10));  
    picker.Date = DateTime.Now;
    picker.Mode = UIDatePickerMode.Time;
    this.Add(picker);
    txtTime.ResignFirstResponder();             
;

但我有一些问题:

    无法禁用键盘(ResignFirstResponder() 不起作用) 我不知道如何处理选择日期甚至 DatePicker 为文本框设置 DatePicker 出现时没有“关闭”或“完成”按钮,因此无法返回到文本字段视图(我可以使用没有操作表的 Datepicker 吗?)。

我该如何解决?

【问题讨论】:

【参考方案1】:

在"Developing CSharp Apps for iPhone and iPad using MonoTouch - 2011" 一书的第 7 章“标准控制”中,您可以看到如何实施拣货日期的示例。

基本思路是:

将 DatePicker 放在 UIActionSheet 上(创建自定义类,实际控制 DatePicker 和 UIActionSheet); 在 UIActionSheet 的视图顶部添加标签“选择日期,然后按确定”和按钮“确定”/“取消”; 在 textField.EditingDidBegin 事件上显示 UIActionSheet。

截图:

对于俄语语言环境设置感到抱歉。

【讨论】:

感谢您的帮助,我大约 2 天前尝试过这种方式,并且成功了。【参考方案2】:
this.txtTime.shouldreturn += (txtTime) => 
txtTime.resignfirstresponder ();
return true;

【讨论】:

以上是关于从 UITextField 单击事件 MonoTouch 在 UIDatePicker 中选择日期的主要内容,如果未能解决你的问题,请参考以下文章

动画 UITextField

将 uitextfield 3 空间中的光标向右移动

完成按钮单击时调用 UITextField 方法

单击按钮时如何获取 UITextField 值

在单元格中单击 UITextField 时,DidSelectRowAtIndexPath 的 indexPath 为零

单击 UITextField 时带有工具栏的 UIPickerView