2014-02-22 43 views
2

我有包含名爲「Name」,「Location」和「Birthday」的三個UITextFields的視圖控制器。如何在UITextField上點擊時打開UIDatePicker

我這裏有這個代碼,打開一個的UIDatePicker:

// Open date picker 
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { 

    // Make a new view, or do what you want here 
    UIDatePicker *pv = [[UIDatePicker alloc] initWithFrame:CGRectMake(0,245,0,0)]; 
    [self.view addSubview:pv]; 
    return NO; 
} 

這裏我有兩個問題。

問題1

當我挖掘日期選擇器打開的任何字段。我只想在點擊「生日」時打開日期選擇器。

問題2

當我點擊一個字段,然後再次點擊,它會打開另一個日期選擇器。

我該如何阻止這種情況發生?

彼得

回答

4

相反試試這個在viewDidLoad中:

UIDatePicker *datePicker = [[UIDatePicker alloc] init]; 
birtdayTextField.inputView = datePicker; //birtdayTextField is your "birthday text field" 
+0

它的工作就像一個魅力:)可以同樣的方法適用於一個UIPickerView? –

+1

@PeterStuart是 –

1

僅適用於特定文本框打開日期選擇器,打開日期選擇器前檢查(UITextField *)textField。您可以爲每個textField設置標籤,然後使用該標籤進行區分。

對於你的第二個問題,你需要使用resignFirstResponder

+1

我很感謝您的意見,非常感謝:) –

相關問題