【问题标题】:iOS 13.5.1: UIActivityViewController not showing on iPadiOS 13.5.1:UIActivityViewController 未在 iPad 上显示
【发布时间】:2020-11-09 18:50:12
【问题描述】:

以下代码在 iOS 13.5.1 上的 iPhone 和 iOS 12.4.7 上的 iPad 上运行良好,但在 iOS 13.5.1 上的 iPad 上触发时没有任何反应:

- (void)notificationFired:(NSNotification *)notification {
    if (notification != (id)[NSNull null] && [[notification name] isEqualToString:@"OpenActionSheet"]) {
        NSString *path = [notification userInfo][@"path"];
        
        printf("Received path: %s", path.UTF8String);

        NSURL *url = [NSURL fileURLWithPath:path];
        
        UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[url] applicationActivities:nil];
        [controller setCompletionWithItemsHandler:^(NSString *activityType, BOOL completed, NSArray *returnedItems, NSError *activityError) {
            printf("%s", "Share sheet closed");
            UnitySendMessage("ShareListener", "Complete", path.UTF8String);
        }];
        
        if (IDIOM == IPAD)
            controller.modalPresentationStyle = UIModalPresentationPopover

        [self.window.rootViewController presentViewController:controller animated:YES completion:nil];
        
        if (IDIOM == IPAD) {
            UIPopoverPresentationController *popover = controller.popoverPresentationController;
            popover.sourceView = self.window.rootViewController.view;
        }
    }
}

我也试过

if ([controller respondsToSelector:@selector(popoverPresentationController)])
    controller.popoverPresentationController.sourceView = self.rootView;
        
[self.window.rootViewController presentViewController:controller animated:YES completion:nil];

而不是 IDIOM == IPAD 块,但结果相同。我错过了什么?

【问题讨论】:

    标签: ios ipad ios13 uiactivityviewcontroller


    【解决方案1】:

    除了分配sourceView,您还应该分配sourceRect

    喜欢

    popover.sourceRect = CGRectMake(0, 0, 100, 100) // change the rect to the frame you want the view to appear
    

    希望它能解决您的问题。在 iPad Pro(12.9 英寸)(第 4 代)XCode 11.5 中测试。

    【讨论】:

      猜你喜欢
      • 2021-08-06
      • 2014-10-27
      • 2021-06-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-22
      • 2013-09-30
      • 2014-01-17
      • 2014-12-04
      相关资源
      最近更新 更多