2009-11-10 29 views

回答

3

我與掙扎自己,找到了解決辦法設置文本字段委託。你可以這樣來做:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
// set delegate for date text field 
    dateField.delegate = self; 
} 

// Display the picker instead of a keyboard 
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField 
{ 
    [self showDatePicker]; 
    return NO; 

} 

這是假設,你已經宣佈了一個名爲showDatePicker方法,它處理UIPicker顯示。

1

您可以調用[myTextField resignFirsrResponder]上的某些按鈕單擊方法,或者,例如,在textFieldShouldReturn委託方法。水木清華這樣的

- (BOOL)textFieldShouldReturn:(UITextField *)textField{ 
    [textField resignFirstResponder]; 
    return YES; 
} 
+0

我不想添加一個按鈕,然後關閉鍵盤。 只需單擊文本框,它應顯示日期選擇器 – shreedevi 2009-11-10 10:38:16

+0

textFieldShouldReturn:按下鍵盤上的「返回」按鈕後調用的委託方法。 – Morion 2009-11-10 10:58:53

+0

你的意思是說,每次我把焦點放在文本字段上時,鍵盤將顯示出來,當我按下返回按鈕時,我將顯示日期選擇器。 – shreedevi 2009-11-10 11:01:52

2

這聽起來像的,而不是一個標準的鍵盤,你不是想展示一下自己的日期選擇器視圖。我相信你可以通過設置文本框的代理來處理,然後提供 textFieldShouldBeginEditing。

//在viewWillAppear中如果需要

... 
    myTextField.delegate = self; 
    ... 

    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ 

     // if date picker not in display, show it here... 

     return NO; 
    } 
0

很簡單,在viewController.h把UITextFieldDelegate。在viewDidLoad之後。

txtFecha.delegate = self; 

datePicker = [[UIDatePicker alloc]init]; 
[datePicker setDatePickerMode:UIDatePickerModeDate]; 

self.txtFecha.inputView = datePicker; 
0

現在你可以使用inputView,同時也是UITextField inputAccessoryView。 在.h文件中聲明,在.m文件中聲明@synthesize。

@property (nonatomic, retain) IBOutlet UIToolbar *_accessoryView; 
@property (nonatomic, retain) IBOutlet UIDatePicker *_datePickerView; 

將其連接到文件的所有者中的.xib文件,確保其出self.view的。

- (void)viewDidLoad 
    { 
     _dateOfBirthTextField.inputView = self._datePickerView; 
     _dateOfBirthTextField.inputAccessoryView = self._toolbar; 
    } 

還寫函數從選擇器

#pragma mark- UITextField with UIDatePicker- 

- (IBAction)dateChanged:(id)sender { 
    UIDatePicker *picker = (UIDatePicker *)sender; 
    _dateOfBirthTextField.text = [NSString stringWithFormat:@"%@", picker.date]; 
} 

- (IBAction)doneEditing:(id)sender { 
    [_dateOfBirthTextField resignFirstResponder]; 
} 

將日期添加dateChanged:IBAction爲上的valueChanged:_datePicker的作用。 和doneEditing:IBAction工具欄上的barbutton動作。

相關問題