Как открыть URL textview в нашем приложении?

#iphone

#iPhone

Вопрос:

У нас есть элемент управления TextView с некоторым URL-адресом веб-сайта, если мы нажмем на URL-адрес веб-сайта textview, он автоматически откроется в браузере safari, как открыть эту веб-страницу в нашем приложении?

Ответ №1:

Я создаю подкласс webview и предоставляю ему метод внутри, подобный этому:

     -(void)loadWebPageFaceBook{
    NSURL *url = [ [ NSURL alloc ] initWithString: @"http://www.facebook.com" ];
    NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:url];
    tabBar.selectedItem = [tabBar.items objectAtIndex:1];
    [self loadRequest:urlRequest];
    [url release];
    [urlRequest release];
    }
  

часть панели вкладок заключается в том, что внизу у меня есть контроллер вкладок с парой гиперссылок, это похоже на маленький изолированный браузер..

очевидно, что вы могли бы использовать URL-адрес в виде NSString (@»www.someWebsite.com «) аргумент в вызове метода, изменив выше на что-то вроде..

     -(void)loadWebPage:(NSString)urlString{
     NSURL *url = [ [ NSURL alloc ] initWithString: urlString ];
     NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:url];
     [self loadRequest:urlRequest]; 
     [url release];
     [urlRequest release];
     }
  

а затем вызвать это из вашего контроллера просмотра, что-то в текстовом поле должно вернуться…

     if ([myTextFieldObject.text length > 0]){
    NSString *urlEntry = myTextFieldObject.text;
    [myWebViewObject loadWebPage:urlEntry];
  

объекту WebView также потребуется метод для обработки ошибок, когда нет подключения к сети / Интернету и когда URL-адрес неправильный. надеюсь, это поможет

Комментарии:

1. Привет, Джеф, у меня есть textview с содержимым URL, когда я нажимаю на этот URL, открывается внешнее приложение. мне нужно открыть его в контроллере webview.

2. да, это то, что я рассказывал вам, как сделать. Создайте новый файл, подкласс UIWebView.. поместите этот метод в него .. и вызовите его с содержимым вашего текстового поля ввода .. должно работать нормально для вас, приятель