0

WebView に読み込まれた HTML ページのコントロールをクリックして日付ピッカーを開く必要がある iOS でハイブリッド アプリを構築しています。以下は、その特定のコントロールと関連する JavaScript メソッドの HTML です。

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

}

目的 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;
    }

問題は、日付タイプの入力コントロールをクリックしても、日付ピッカーが開かないことです。どんな助けでも大歓迎です!!

4

1 に答える 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 に追加します

于 2013-10-21T07:35:22.520 に答える