2016-02-11 200 views
0

我有一個現有的應用程序,當前有嵌入的幫助文件;我正在嘗試更改它們,以便他們訪問互聯網以獲得本地化的幫助文件。這是我的代碼:爲什麼此代碼不顯示Google.com

// make the popover 
UIViewController* popoverContent = [UIViewController new]; 
UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 450, 500)]; 
popoverView.backgroundColor = [UIColor colorWithWhite:(CGFloat)1.0 alpha:(CGFloat)1.0]; // frame color? 
popoverContent.view = popoverView; 

//resize the popover view shown in the current view to the view's size 
popoverContent.preferredContentSize = CGSizeMake(450, 500); 

NSURL *indexURL = [NSURL URLWithString:@"google.com"]; 

// add the UIWebView for RichText 
webView = [[UIWebView alloc] initWithFrame:popoverView.frame]; 
webView.backgroundColor = [UIColor whiteColor]; // change background color here 

// add the webView to the popover 
[webView loadRequest:[NSURLRequest requestWithURL:indexURL]]; // load it... 
[popoverView addSubview:webView]; 

// if previous popoverController is still visible... dismiss it 
if ([popoverController isPopoverVisible]) { 
    [popoverController dismissPopoverAnimated:YES]; 
} 

//create a popover controller to display the HELP text 
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent]; 

[popoverController presentPopoverFromRect:((UIButton *)boHelpGeneralSetup).frame inView:self.view 
       permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; 

此代碼在嵌入幫助文件時起作用;爲什麼當我嘗試從互聯網上的網頁獲取文件時,它不工作?

+0

當該文件嵌入? – lluisgh

+0

包含網頁上* exact *語言的HTML文件。這與問題無關。 – SpokaneDude

+0

嘗試使用http:// –

回答

1

從文檔:

的NSURL對象被由兩個部分組成,一個潛在的零基本URL 和被相對於基座URL解析的字符串。一個NSURL 對象被認爲是絕對的,如果它的字符串部分完全解析爲 沒有基礎;所有其他URL都被認爲是相對的。

例如,構造一個NSURL對象時,你可以指定 文件:///路徑/到/ WEB_ROOT /基礎網址和文件夾/ file.html作爲 字符串的一部分,具體如下:

在您的情況下,google.com被視爲字符串部分,但不是基地址。由於地址以http開頭,因此您需要包含url的完整路徑。

所以,這將是:

NSURL *indexURL = [NSURL URLWithString:@"https://www.google.com"]; 
+0

再次感謝... – SpokaneDude

+0

不客氣!確保你使用https而不是http。蘋果讓用戶從ios9開始使用https。 –