2011-05-29 35 views
1

我有一个文本框,我可以输入一个网址。问题是如果我只在前面输入'cnn.com'或任何没有'http://'的网站,页面不会加载。有没有办法来解决这个问题?nsurl不加载网站,如果http或https不包括

我搜索了苹果文档,但找不到我正在寻找的帮助。

我的代码:

NSString *zzz = URLbox.text; 

NSURL *url = [NSURL URLWithString:zzz]; 
[webBrowser loadRequest:[NSURLRequest requestWithURL:url]]; 

回答

14

检查输入URL(URLbox.text)与任http://https://开始,如果没有,用http://前缀它。

+1

谢谢你们!得到它的工作:'NSString * myURLString = URLbox.text; NSURL * myURL; if([myURLString hasPrefix:@“http://”]){ myURL = [NSURL URLWithString:myURLString];其他{ NSString * rer = [NSString stringWithFormat:@“http://%@”,myURLString]; myURL = [NSURL URLWithString:rer]; rer = URLbox.text ;; NSLog(@“updated textbox”); }' – BlockReader 2011-05-29 15:21:38

4

URL包含一个方案,除非它作为文档的一部分是相对的。 cnn.comhttp://cnn.comhttp://www.cnn.com的临时缩写。在提交请求之前,浏览器通常会自动将http://添加到您在地址栏中键入的内容。

你应该检查用户的字符串是否以一个方案开始(不一定只是http://https://,但在你的用例中可能就足够了),并且如果它缺少,则默认添加一个。