2012-08-08 33 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; 
} 
相關問題