2010-09-14 12 views
2

Je souhaite présenter un formulaire basé sur HTML dans un UIWebView avec un champ de date. Je veux que le système d'exploitation reconnaisse cela comme une date et affiche le UIDatePickerView pour entrer la date de la même manière que la façon dont il présente un UIPickerView lors de la saisie de données dans un champ de sélection de formulaire. Est-ce possible?Est-il possible d'utiliser le HTML sous forme Web qui utilise UIDatePickerView lorsqu'il est affiché sur iOS?

+1

http://stackoverflow.com/questions/388814/date-sélecteur-pour-iphone-web-application peut fournir des informations utiles. – Greg

Répondre

2

ici est un javascript que le contrôle qui pourrait fonctionner ... Je sauvé le lien pour ma référence, mais jamais utilisé

http://cubiq.org/spinning-wheel-on-webkit-for-iphone-ipod-touch

Et ci-dessous est un code que je viens tapé sur la façon dont vous pourriez fais le. Je n'ai pas testé ce code, c'est uniquement à titre informatif. Fondamentalement, vérifier que tous les liens qui sont cliquables pour les critères spécifiques dont vous avez besoin, faire apparaître le sélecteur et obtenir les résultats

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 
{ 
    NSURL *loadURL = [[request URL] retain]; 
    BOOL dateLinkClicked = // determine this somehow specific to your code 
    // Check navigationType. Else this alert will be visible on every load of UIWebView 
    if ( navigationType == UIWebViewNavigationTypeLinkClicked && dateLinkClicked) 
    { 
     // Initialization code 
     datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 250, 325, 250)]; 
     datePicker.datePickerMode = UIDatePickerModeDate; 
     datePicker.hidden = NO; 
     datePicker.date = [NSDate date]; 
     [datePicker addTarget:self 
       action:@selector(dateSelected:) 
       forControlEvents:UIControlEventValueChanged]; 
     [self.view addSubview:datePicker]; 
     [datePicker release]; 
    } else { 
     [loadURL release]; 
     return YES; 
    } 
    return NO; 
} 

Méthode d'action pour DataPicker

- (void)dateSelected:(id)sender{ 
    //Use NSDateFormatter to write out the date in a friendly format 
    NSDateFormatter *df = [[NSDateFormatter alloc] init]; 
    df.dateStyle = NSDateFormatterMediumStyle; 

     // do something with date 
    NSString * dateText = [NSString stringWithFormat:@"%@", 
       [df stringFromDate:datePicker.date]]; 
    [df release]; 
} 
+0

Merci. *Presque parfait*. Ceci combiné avec un peu de JavaScript m'obtient 99% là. Voici un exemple de projet: http://www.jonn8.com/dist/UIWebViewWithUIDatePicker.zip Le seul problème est que le sélecteur de date n'est pas accessible depuis les boutons précédent et suivant lorsque vous remplissez un formulaire. Petite puce. – Jon