2012-08-08 70 views
1

首先,我有一个TextField。当用户点击它时,DatePicker将出现(在相同的文本框的视图中)。用户选择日期后,DatePicker应该消失,并且文本框应显示选定的日期。
我曾尝试这个代码在viewDidLoad中:从UITextField单击事件中的UIDatePicker中选择日期MonoTouch

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();    
}; 

但我有一些问题:

  1. 无法禁用键盘(ResignFirstResponder()不工作)
  2. 我不知道如何处理选择日期,即使DatePicker设置为文本框
  3. DatePicker显示没有“关闭”或“完成”按钮,所以不能返回到文本视图(我可以使用Datepicker没有操作?)。

我该如何解决这个问题?

回答

1

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

基本思路是:将

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

截图:

How it looks like

对不起,俄语语言环境settigs。

+0

感谢您的帮助,我在2天前尝试过这种方式,并且工作正常。 – R4j 2012-08-13 10:48:12

0
this.txtTime.shouldreturn += (txtTime) => { 
txtTime.resignfirstresponder(); 
return true; 
} 
相关问题