我有一个简单的应用程序,它在应用程序中加载网页,在 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];
问题
那么我该如何自定义在UIActivityViewController
中调用时的文本SFSafariViewController
呢?很容易做到这一点,VideoWebViewController
因为我正在设置一个自定义子类,但我不确定是否有办法做到这一点SFSafariViewController
?当用户在 中选择 Share Sheet (UIActivityViewController) 时SFSafariViewController
,我只想添加一些自定义文本。
更新
我已经创建了 SFSafariViewController 的自定义子类,但是我看不到调用用户选择 ShareSheet (UIActivityViewController) 时发生的方法的方法。
对此的任何指导将不胜感激。
更新
看起来这不可能,所以我为此与 Apple 创建了一个错误报告:https ://bugreport.apple.com/problem/viewproblem