2012-03-05 13 views

Odpowiedz

7

Co mam zrobić, to mój inputView jako widok niestandardowy, który zawiera UIDatePicker i pasek narzędzi nad nim z przyciskiem "Gotowe" połączonym z metodą, która wywołuje metodę delegata, aby powiedzieć obiektowi, który jest właścicielem UITextField, aby odrzucić "klawiatura" dzwoniąc pod numer resignFirstResponder.

+0

Proszę podać kod do ustawienia elementu UIBarButtonItem na pasku UIToolBar? – 8vius

+1

@ 8vius - to naprawdę nie jest tutaj pytanie. Jeśli naprawdę potrzebujesz pomocy, sugeruję przeczytanie dokumentów dla 'UIBarButtonItem' i' UIToolbar', a jeśli wciąż tkwisz w sieci, zadaj inne pytanie. – mattjgalloway

+0

@mattjgalloway Robię to w ten sposób, ale wywołanie 'resignFirstResponder' nie powoduje wyłączenia klawiatury niestandardowego widoku wejściowego – onmyway133

0

Zrobiłem podobną rzecz, gdy stworzyłem widok za pomocą przycisku i UIDatePicker, a następnie przedstawiłem ten widok zamiast samego UIDatePicker. Następnie przycisk jest po prostu podłączony do IBAction, który przesuwa widok.

W ten sposób przycisk przechodzi do widoku UIDatePicker i wygląda "połączony" z użytkownikiem. Możesz nawet zdefiniować ten UIView w swoim stalówce i używać addSubview: w środowisku wykonawczym.

2

Utwórz UIView (mianowicie customDatePickerView) iw tym widoku utwórz datepicker i zakończony przycisk oraz przycisk anulowania w Xib. W delegata textField:

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    if (textField == textfieldName) { 
     [textfieldName resignFirstResponder]; 
     //show the view 
     self.customDatePickerView.hidden = NO; 

    } 

}//dismisses keyboard 

Funkcja na Date Picker Wartość Zmienione

- (IBAction)onDatePickerClick:(id)sender { 

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; 
    [dateFormatter setDateFormat:@"MM/dd/YYYY"]; 
    NSDate *selectedDate = [self.wellRecordDatePicker date]; 
    NSString *recordDate = [dateFormatter stringFromDate:selectedDate]; 
    self.yourTextfieldName.text = recordDate; 


} 

- (IBAction)onDoneBtnClick:(id)sender 
{ 
     self.customDatePickerView.hidden = YES; 
} 
- (IBAction)onCancelBtnClick:(id)sender 
{ 
     self.customDatePickerView.hidden = YES; 
} 

nadzieję, że to pomoże.

0

Problem ten można rozwiązać poprzez dodanie tego

[self.view endEditing:YES]; 

Dodaj to gdzie chcesz, aby zamknąć wyboru daty jak dodałem to na gest kranu
Na viewDidLoad dodał Tapgesture

UITapGestureRecognizer *gesRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; // Declare the Gesture. 
    gesRecognizer.delegate = self; 
    [self.view addGestureRecognizer:gesRecognizer]; 

Po dodawanie tego na viewdidLoad Dodaj tę metodę, aby wykryć rozpoznawanie gestów.

Powiązane problemy