UIDatePicker DidSelectRow Méthode?
Je sais UIPickerViews utiliser un didSelectRow méthode pour mettre à jour les étiquettes etc lorsqu'une ligne est sélectionnée.
J'ai un UIDatePicker que les mises à jour de l'étiquette lorsqu'une ligne est sélectionnée et que fait le bouton est pressé, mais je veux aussi un UILabel que les mises à jour à chaque sélection, de sorte que son live à la mise à jour à l'utilisateur de changer la date. Je ne trouve pas de méthode comme didSelectRow pour le sélecteur de date. Comment est-ce possible?
- (IBAction)dateButtonPressed
{
[dateView setFrame:CGRectMake(0, self.view.frame.size.height, self.view.frame.size.width, self.view.frame.size.height)];
[self.view addSubview:dateView];
UIBarButtonItem *acceptButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismssPickerChangeDate)];
self.navigationItem.rightBarButtonItem = acceptButton;
[acceptButton release];
UIBarButtonItem *cancelButton1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(dismssPickerCancel)];
self.navigationItem.leftBarButtonItem = cancelButton1;
[cancelButton1 release];
self.navigationItem.title = @"Select Date";
self.navigationItem.hidesBackButton = YES;
[UIView animateWithDuration:.5 animations:^{
[dateView setFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
}];
NSDate *myDate = picker.date;
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//NSDate *date = [NSDate date];
[dateFormatter setDateFormat:@"MMM d y"];
NSString *dateString = [dateFormatter stringFromDate:myDate];
NSLog(@"New Date is = %@",dateString);
dateLabel.text = dateString;
}
OriginalL'auteur | 2011-04-21
Vous devez vous connecter pour publier un commentaire.
UIDatePicker est un UIControl, afin de l'utiliser
pour envoyer un message à votre contrôleur. Le contrôleur peut alors obtenir l'état du sélecteur de date et de mise à jour de l'étiquette.
Si votre sélecteur et votre étiquette sont à la fois des points de vente dans la même classe, dans le viewDidLoad:
Puis créer updateLabelFromPicker:
Vous voudrez un NSDateFormatter à faire de la date de joli.
J'ai mis à jour avec plus de détails. La classe que vous avez déclaré vos points de vente dans votre contrôleur.
J'ai tous les NSFormatter de configuration, car j'ai une autre étiquette que les mises à jour après que l'utilisateur appuie sur le fait, je viens donc de configurer celle-ci en temps réel. Permettez-moi de jouer avec le code que vous avez posté, merci.
hmm, je ne peux pas le faire correctement le programme d'installation, je vais poster le code que j'utilise dans ma question merci.
Est le dateButtonPressed méthode la méthode que vous avez spécifié dans addTarget:action:forControlEvents ?
OriginalL'auteur Terry Wilcox
Un sélecteur de date fait les choses un peu différemment. À partir de la documentation:
Parce qu'un UIDatePicker hérite de UIControl, vous avez accès à tous les différents événements que vous attendez (TouchUpInside, etc).
OriginalL'auteur lxt
Swift 3/4
OriginalL'auteur Sachin Rasane