使用SFSafariViewController时,自定义UIActivityViewController中的文本

时间:2015-11-29 12:10:01

标签: ios objective-c uiwebview uiactivityviewcontroller sfsafariviewcontroller

我有一个简单的应用程序,可以在iOS 8上的应用程序中加载网页,我使用的是名为UIWebViewController的自定义VideoWebViewController,而对于iOS 9,我正在使用SFSafariViewController 。在VideoWebViewController中,我有以下方法在调用UIActivityViewController时调用:

NSString *currentURL = self.webView.request.URL.absoluteString;
// This method gets called when the user hits the right bar button item; the share sheet.
NSURL *facebook = [[NSURL alloc] initWithString:@"http://www.facebook.com"];
NSURL *twitter = [[NSURL alloc] initWithString:@"http://twitter.com"];
NSString *forwardedString = [[NSString alloc] initWithFormat:@"Check this out %@, %@", facebook, twitter];
UIActivityViewController *activityViewController = nil;
activityViewController = [[UIActivityViewController alloc] initWithActivityItems:[NSArray arrayWithObjects:forwardedString, nil] applicationActivities:nil];

当我拨打VideoWebViewController时,我这样做:

VideoWebViewController *video = [[VideoWebViewController alloc] init];
        UINavigationController *navigation = [[UINavigationController alloc] initWithRootViewController:video];
        [self presentViewController:navigation animated:YES completion:nil];
        [video setSelectedVideo:@"https://www.youtube.com"];

当我拨打SFSafariViewController时,我这样做:

SFSafariViewController *safariVC = [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString:@"https://www.youtube.com/"]entersReaderIfAvailable:NO];
safariVC.delegate = self;
[self presentViewController:safariVC animated:YES completion:nil];

问题

那么我如何自定义UIActivityViewControllerSFSafariViewController的调用时间?使用VideoWebViewController很容易做到这一点,因为我正在设置自定义子类,但我不确定是否有办法用SFSafariViewController执行此操作?当用户在SFSafariViewController中选择共享表(UIActivityViewController)时,我只想添加一些自定义文本。

更新

我已经创建了SFSafariViewController的自定义子类,但我看不到一种方法来调用用户选择ShareSheet(UIActivityViewController)时发生的事情的方法。

对此的任何指导将不胜感激。

更新

看起来这不可能,所以我已经为Apple创建了一个错误报告:https://bugreport.apple.com/problem/viewproblem

0 个答案:

没有答案