2016-02-05 104 views
-1

我是目标c新手。我正在学习segue和PrepareForSegue。所以我有一个用户保存的随机链接的表格视图。我想让用户点击链接并转到Web视图以查看网页。但是,每次点击链接时,网页都是空的。WebView未加载?

表视图。米

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
if ([[segue identifier] isEqualToString:@"showArticle"]) { 

    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 

    NSString *urlString = [NSString stringWithFormat:@"http://%@", _toDoItems[indexPath.row]]; 
    [[segue destinationViewController] setUrl:urlString]; 

WebView.m

- (void)viewDidLoad { 
[super viewDidLoad]; 

NSURL *URL = [NSURL URLWithString:[self.url 
            stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]]; 

NSURLRequest *request = [NSURLRequest requestWithURL:URL]; 
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://%@", request]]]]; 
// Do any additional setup after loading the view. 

}

+0

你在iOS 9.0上试试这个吗? –

+0

如果您可以将您的destinationViewcontroller作为Web视图的委托,那将是一件好事。然后实现UIWebView的UIWebView委托方法,并在shouldStartLoadWithRequest中放置一个断点:例如。然后,您可以调试您的Web视图是否至少尝试加载请求。 您也可以为UIWebViewDelegate实现webDidFinishLoading和其他委托方法。 – iOSAddicted

+0

是@Vishnugondlekar – Liz

回答

0

这些键添加到您的info.plist。在iOS中9,你必须使用https://,而不是http://

Info.plist

这里是链接配置应用程序传输安全 App Transport Security

确保通过这条线你urlString回报切不可无。它必须是一个有效的网址在您的浏览器中工作:

NSString *urlString = [NSString stringWithFormat:@"http://%@", _toDoItems[indexPath.row]];