Можно ли использовать HTML в веб-форме, которая использует UIDatePickerView при просмотре на iOS? - PullRequest
2 голосов
/ 15 сентября 2010

Я хочу представить форму на основе HTML в UIWebView с полем даты.Я хочу, чтобы ОС распознала это как дату и показала UIDatePickerView для ввода даты, аналогично тому, как она представляет UIPickerView при вводе данных в поле выбора формы.Возможно ли это?

1 Ответ

2 голосов
/ 15 сентября 2010

вот элемент управления только для javascript, который может работать ... Я сохранил ссылку для справки, но никогда не использовал ее

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

Ниже приведен код, который я только что набрало том, как вы могли бы сделать это.Я не проверял этот код, он только для информационных целей.В основном, просто проверьте все ссылки, по которым щелкают нужные вам критерии, откройте средство выбора и получите результаты

- (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;
}

Метод действия для 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];
}
...