【发布时间】:2012-07-06 10:44:20
【问题描述】:
我对 Xcode 很陌生...我有一个单页 iOS 应用程序,它只有一个 UIWebView 打开一个特定的 URL。我希望页面中具有target="_blank" 的任何链接在 Safari 中打开,而不是在应用程序中打开。
谁能告诉我如何做到这一点? (我到处搜索)并告诉我在哪些文件中以及将代码放在哪里?非常感谢!
编辑
我在 ViewController.m 文件中实现了以下代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Add line below so that external links & PDFs will open in Safari.app
webView.delegate = self;
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.example.com/"]]];
}
// Add section below so that external links & PDFs will open in Safari.app
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[[UIApplication sharedApplication] openURL:request.URL];
return false;
}
return true;
}
但是对于webView.delegate = self; 行,我收到一条黄色警告,上面写着:
从不兼容的类型“UIWebViewViewController *const_strong”分配给“id”
这是什么错误,如何在 Xcode 中修复它?
【问题讨论】:
标签: xcode uiwebview external-links