我使用的webStoryViewController
使用UIWebView
来处理网页。当用户点击网络链接时,它会从其他屏幕以模态方式调用。如果找到应用商店链接,那么我有一个代码来解除我的视图并打开应用商店。它在应用程序商店中打开链接很好,但大多数时候都无法忽略我的视图。所以当我回到我的应用程序时,我看到一个空白的窗口。虽然它确实有效。有什么想法我每次都能做到这一点吗?提前谢谢!
这是我的代码
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSURL *url = request.URL;
if (![url.scheme isEqual:@"http"] && ![url.scheme isEqual:@"https"]) {
if ([[UIApplication sharedApplication]canOpenURL:url]) {
[webView stopLoading];
[self dismissModalViewControllerAnimated:NO];
[[UIApplication sharedApplication]openURL:url];
return NO;
}
}
else
return YES;
}
答案 0 :(得分:1)
我找到了解决方案。它正陷入竞争状态。因此,在应用程序进入后台之前,UIView没有足够的时间关闭视图。所以我像这样把延迟调用dismissModalView调用
[self performSelector:@selector(actionDismissView) withObject:nil afterDelay:0.2];
这就是诀窍!!