2012-05-16 49 views
1

我有一個包含多個文本框的窗體。 單擊這些文本字段時,大多數文本字段會通過以預期方式顯示鍵盤來產生標準行爲。顯示日期選擇器/組合框代替鍵盤

但是一些文本框的被點擊的時候,我想通過顯示無論是覆蓋標準的行爲:

1) A datepicker, or 
2) A Combobox 

問題1:

如何覆蓋標準的行爲,並顯示日期選擇器/組合框而不是默認鍵盤?

問題2:

我現在有一種情況,可能有鍵盤和日期選擇器/組合框(鍵盤上的日期選擇器/組合框,或反之亦然的頂部)同時顯示在屏幕上。 如何防止發生這種情況,因爲在任何給定時間應該只顯示一個或另一個(默認鍵盤或日期選擇器/組合框)。

PS我查看過這個網站上的其他問題,但它們似乎不能回答我的問題。

讚賞任何意見/建議...

回答

0

實施textfiled代表和委託方法

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    //Check the textfield for which you want to display date picker 
    if(textField == datePickerTextField) 
    { 
     [self showDatePicker]; 
     return NO; //to disallow editing i.e it will not open keyboard 
    } 
} 
+0

嗨,我以前看過這個代碼,但不太明白它。問題:我在哪裏放這段代碼,是「textFieldShouldBeginEditing」的一個函數,如果你能提供這段代碼的解釋,我將不勝感激;) –

+0

它是UITextField的委託方法,你應該首先獲得iphone開發的基礎知識。現在,只需將這個方法發佈在.m文件中,您將擁有文本字段。並且不要忘記爲textfield分配委託,例如textField.delegate = self;當你點擊文本框 –

+0

這是鈦,而不是本機代碼時,這個方法會被調用。 –

0

最前一頁您需要創建文本框。那麼它的編輯事件會模糊該文本框並打開您的日期選擇器或組合框。 那是隱藏鍵盤的方法&在Titanium中顯示datepicker。

0

這可以通過技巧來實現。 要隱藏顯示鍵盤,請在文本字段中設置此屬性。

enabled:false 

並使用文本字段點擊事件顯示日期選擇器。