Выбор даты открытия через HTML iOS

0

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

<input name="date" id="creationDate" class=dateET type="date" onclick="onDateSelected();" readonly />

function onDateSelected() 
{
console.log('onDateSelected');
            var dateOn = document.getElementById('creationDate').value;
            document.location.href = "#mCrm#onDateSelected#mCrm#"+dateOn;

}

В Objective C:

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{

    NSString *requestString = [[request URL]absoluteString];
    if (!([requestString rangeOfString:@"onDateSelected"].location == NSNotFound))
    {
        [self onDateSelected:requestString];
        return FALSE;
    }
    else if (!([requestString rangeOfString:@"onAddCustomerBtnClick"].location == NSNotFound))
    {

    }



    return TRUE;
}


 -(void)onDateSelected:(NSString *)reqString
    {
        custDate = [[UIDatePicker alloc] init];
        custDate.datePickerMode = UIDatePickerModeDate;
        UIToolbar* toolbar = [[UIToolbar alloc] init];
        toolbar.barStyle = UIBarStyleDefault;
        [toolbar sizeToFit];

        //to make the done button aligned to the right
        UIBarButtonItem *flexibleSpaceLeft = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];


        UIBarButtonItem* doneButton = nil;

    //    if(sender == self.mCdob)
            doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                                                          style:UIBarButtonItemStyleDone target:self
                                                         action:@selector(doneDateOfBirth:)];


        [toolbar setItems:[NSArray arrayWithObjects:flexibleSpaceLeft, doneButton, nil]];


        //custom input view
    //    sender.inputView = datePickerContact;
    //    sender.inputAccessoryView = toolbar;
    }

Проблема в том, что при нажатии на элементе управления типом даты выбор даты не открывается. Любая помощь приветствуется!

  • 0
    функция onDateSelected выполняется?
  • 0
    да .. я нашел ответ на мою проблему, хотя .. я разместил его ниже ..
Теги:
ios6

1 ответ

0

глупая ошибка на самом деле.. Я забыл добавить следующий метод:

-(void)doneDateOfCreation:(id) sender
{
    NSDateFormatter* df = [[NSDateFormatter alloc] init];
    [df setDateStyle:NSDateFormatterMediumStyle];
    //[df setDateFormat:@"d/MM/YYYY"];

    NSString* date  = [df stringFromDate:[custDate date]];

    NSDate * st = [df dateFromString:date];

    NSLog(@"date= %@",[df stringFromDate:st]);


    [custDate resignFirstResponder]; //hides the pickerView
    [custDate removeFromSuperview];
    [toolbar removeFromSuperview];


}

Также добавьте [self.view addSubview:toolbar]; к методу onDateSelected

Ещё вопросы

Сообщество Overcoder
Наверх
Меню