在演示发生之前,UIPopoverPresentationController应该设置一个非零的sourceView或barButtonItem

时间:2015-01-29 08:58:22

标签: html objective-c ipad cordova ios8

我开发的应用程序主要是使用phonegap build 3.5.0构建的,任何有类似问题的应用程序都会不断崩溃。

主要问题 第一个问题是HTML select元素,当用户反复点击此元素serval时,应用程序将崩溃。

由于未捕获的异常'NSGenericException'而终止应用,原因:'UIPopoverPresentationController (UIPopoverPresentationController: 0x7c7b4510)should have a non-nil sourceView or barButtonItem set before the presentation occurs.'

你能帮助我解决这个问题。

1 个答案:

答案 0 :(得分:3)

请检查以下代码。可能对此有所帮助。

  if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        [self presentViewController:activityVC animated:YES completion:nil];
    }
    //if iPad
    else
    {
        // Change Rect to position Popover
        UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:activityVC];
        NSLog(@"%f",self.view.frame.size.width/2);
        [popup presentPopoverFromRect:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/4, 0, 0)inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    }