Ho usato un metodo diverso per scomparire UIDatePicker.
creare un file XIB (NIB) e aggiungere ad esso un UIDatePicker poi ridimensionare la vista in modo che si adatta solo l'UIDatePicker, creare una proprietà (rendere più forte e nonatomic) nel vostro ViewController (o qualunque classe di vostro usando, e sintetizzare ovviamente).
@property (nonatomic, strong) UIView *myDatePickerView;
@synthesize myDatePickerView;
quindi creare un metodo loadDatePickerView
- (void) loadDatePickerView
{
UINib *nib = [UINib nibWithNibName:kNIBname bundle:[NSBundle mainBundle]];
NSArray *views = [nib instantiateWithOwner:self options:nil];
self.myDatePickerView = [views firstObject];
[myDatePickerView setFrame:CGRectMake(0, 318, 320, 162)];
[self.view addSubview:myDatePickerView];
}
attuare l'UITextFieldDelegate, e nel metodo textFieldDidBeginEditing chiamare il metodo loadDatePickerView,
[self loadDatePickerView];
per rendere funzione creare una proprietà che è un'interfaccia utente DatePicker esempio
@property (nonatomic,strong)
UIDatePicker *myDatePicker;
(sintetizzare ovviamente)
ora creare un IBAction in questo modo:
-(IBAction)datePickerValueChanged:(UIDatePicker *)sender
{
myDatePicker = [[myDatePickerView subviews] lastObject];
//now you can do whatever you want with the DatePicker
}
ora collegare l'IBAction al selettore nel file XIB, in questo modo il XIB ora è l'istanza UIDatePicker che hai creato nel VC, se vuoi che scompaia puoi aggiungere un UITapGestureRecognizer (nel ViewDidLoad) e la s elettore sarà un altro IBAction che rimuove myDatePickerView dalla sua Superview come questo:
- (void)viewDidLoad
{
[super viewDidLoad];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dropPicker:)];
[self.view addGestureRecognizer:tap];
[self datePickerValueChanged:myDatePicker];
}
-(IBAction)dropPicker:(id)sender
{
[myDatePickerView removeFromSuperview];
}
vedo che è la tecnica utilizzata in Contatti, dire se si aggiunge un compleanno. Dovrò rielaborare la mia vista perché attualmente ho un pulsante "Annulla" come elemento del pulsante della barra destra. Lo proverò. Grazie per la risposta! – johnnyspo
Anche io ho un pulsante di salvataggio .. puoi cambiare i pulsanti .. –
Esattamente quello che ho fatto !! Grazie ancora. – johnnyspo