弹出窗口内的 UIPrintInteractionController

Posted

技术标签:

【中文标题】弹出窗口内的 UIPrintInteractionController【英文标题】:UIPrintInteractionController inside popup 【发布时间】:2016-08-17 09:11:37 【问题描述】:

我必须在弹出窗口中实现UIPrintInteractionController。我已经实现了 -

(UIViewController *)printInteractionControllerParentViewController:(UIPrintInteractionController *)printInteractionController 
    UINavigationController* navigationController = [[UINavigationController alloc] init];
    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navigationController];
    [popover presentPopoverFromRect:address.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
    [popover.contentViewController.view setBackgroundColor:[UIColor grayColor]];
    navigationController.preferredContentSize = CGSizeMake(320, 540);
    return navigationController;
  

但它会崩溃说:

reason: '-[UIPopoverController initWithContentViewController:] called when not running under UIUserInterfaceIdiomPad.'

甚至在 ipad 模拟器中进行测试。该怎么办 ?我必须像 一样实现弹出窗口。

【问题讨论】:

您的问题是关于不同尺寸的屏幕 @vaibhav 如果我的目标是 ipad,我该怎么办。 看看我的回答是否有帮助.. 【参考方案1】:

您可以使用下面的代码找出不同的设备是 iPad 还是 iPhone ..

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
    // code for iPad here 
else

    // code for iPhone here

更新

您可以通过将 uiview 传递给自定义视图来使用以下方法弹出窗口。

-(void) popOver:(UIView *)view

view.hidden = NO;

view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.001, 0.001);   // view to popup
[UIView animateWithDuration:0.3
                 animations:^
                     view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 1.1, 1.1);
              completion:^(BOOL finished) 
                 [UIView  animateWithDuration:0.1
                                   animations:^
                                       view.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.9,0.9); // custom view
                                   completion:^(BOOL  finished) 
                                       [UIView animateWithDuration:0.1 animations:^
                                           view.transform = CGAffineTransformIdentity;   // custom view to pop
                                       ];
                                   ];
             ];


这个方法显示了一个像 popover 这样的 uiview,现在可以在上面添加任何 UI 组件。

【讨论】:

我已经看到了这个答案并且我已经实现了这个但它没有帮助。我想知道如何为 Ipad 做到这一点? 上面的代码非常适合对iPad或iPhone进行分类..请更详细地解释您的问题。 在我明白之前,这可能是您问题的答案......看看这个link。 但是我用的是ipad模拟器,不应该进去if而不是else。 但是为什么不进入 if 条件,即使在真正的 ipad 上而不是模拟器上?

以上是关于弹出窗口内的 UIPrintInteractionController的主要内容,如果未能解决你的问题,请参考以下文章

bootstrap:弹出框内的图像超出了窗口大小

打开带有图像的新弹出窗口,点击弹出窗口内的链接

弹出窗口内的JQuery UI Datepicker

如何在删除时在甜蜜警报弹出窗口中进行 axios 调用并在弹出窗口内的下拉列表中显示数据?

中继器内的多个弹出窗口

如何在离子的inAppBrowser内的后退按钮上添加确认弹出窗口