Cordova插件Datepicker弹出窗口,在iPad上显示错误的位置

时间:2014-10-10 09:38:32

标签: ios ipad cordova datepicker

我们有一个Cordova项目(3.6.3),并且(出于各种原因我不想在这里讨论)我们必须从这里包含日期选择器插件:
https://github.com/sectore/phonegap3-ios-datepicker-plugin
一切都在iPhone上很好,但iPad给表datepicker plugin issue

带来了奇怪的行为

所以首先 - 当我点击日期输入字段的标签时它不会删除原生日期选择器(当我点击输入本身时它会删除它。)
其次 - 它在视口的错误位置显示插件日期选择器(左上角,而不是日期输入字段的上方,作为本机输出字段)。

有没有人遇到过这样的问题,也许你知道是什么导致了插件这种奇怪的行为?

啦啦队

1 个答案:

答案 0 :(得分:0)

关于此问题,您可以显示iPhone的日期选择器

让我们在代码中看到 首先在这个函数中,你需要对iphone的特殊情况进行评论,使其成为一般情况下写成

(void)show:(CDVInvokedUrlCommand*)command {
    _command = command;
  NSMutableDictionary *options = [command argumentAtIndex:0];
  //if (isIPhone) {
    [self showForPhone: options];
  //} else {
   // [self showForPad: options];
  //}
}

并且不要忘记删除隐藏的特殊处理

(void)hide {
  //if (isIPhone) {
    CGRect frame = CGRectOffset(self.datePickerComponentsContainer.frame,
                                0,
                                self.datePickerComponentsContainer.frame.size.height);

    [UIView animateWithDuration:ANIMATION_DURATION
                          delay:0
                        options:UIViewAnimationOptionCurveEaseOut
                     animations:^{
                       self.datePickerComponentsContainer.frame = frame;
                       self.datePickerContainer.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0];

                     } completion:^(BOOL finished) {
                       [self.datePickerContainer removeFromSuperview];
                     }];

 // } else {
  //  [self.datePickerPopover dismissPopoverAnimated:YES];
 // }
}