我使用openURL:方法在Safari中打开一个网页,但是如果该页面已经在Safari中打开,并且我调用了openURL:,则iOS显示已经打开的页面。
它应该刷新,或者在新选项卡中打开。有可能吗?
发布于 2016-07-15 12:02:50
我不认为有办法这样做。
如果可以的话,一个可能的简单解决方案是实现一个SFSafariViewController并在应用程序中打开您的URL。在这个阶段,您可以像UIWebView一样控制它。
+你有一个更好的UX!
- (void)openLink:(NSString *)url
{
NSURL *URL = [NSURL URLWithString:url]];
if (URL) {
if ([SFSafariViewController class] != nil) {
SFSafariViewController *sfvc = [[SFSafariViewController alloc] initWithURL:URL];
sfvc.delegate = self;
[self presentViewController:sfvc animated:YES completion:nil];
}
else {
if (![[UIApplication sharedApplication] openURL:url]) {
NSLog(@"%@%@",@"Failed to open url:",[url description]);
}
}
}
else
{
// will have a nice alert displaying soon.
}
}发布于 2018-11-13 10:50:34
我知道为时已晚,但也许这会对另一个有所帮助。我也面临着同样的问题,但我已经通过以下步骤解决了这个问题:
这个解决方案对我有效,我已经在iOS 12.0中测试了这个应用程序。希望这样的信息能对其他人有所帮助。
发布于 2016-07-15 11:40:02
您可以在打开网页后重新加载它。
使用重载web视图的方法重新加载网页
reload() -用于重新加载当前的网页。
https://stackoverflow.com/questions/38395104
复制相似问题