2013-06-13 3 views
0

Я пытаюсь вызвать метод из другого UIViewController, который берет строку (url) в качестве параметра и открывает ее в UIWebView. Ниже приведен код IBAction в UIViewController классе:страница не загружается в uiwebview раскадровка

-(IBAction)dashboardButtonTapped:(id)sender { 

    [self performSegueWithIdentifier:@"dashboard" sender:self]; 
    Dashboard *db = [[self storyboard] instantiateViewControllerWithIdentifier:@"dashboard"]; 
    [db openDashboard:@"http://www.google.com"]; 
} 

метод, который принимает в строке URL-адрес находится в другом классе под названием DashBoard:

-(void)openDashboard:(NSString *) url { 
    [self.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]]; 
} 

я не получаю какие-либо ошибки, но UIWebView всегда пуст.

В чем может быть проблема?

+0

Вы установили делегат 'UIWebView'? Открывается ли 'openDashboard:' на самом деле? – Popeye

+0

Я не задал делегат для UIWebview. да, это вызвано. –

ответ

0

Проверить

  1. розетка self.myWebView подключен
  2. self.myWebView получить инициализируется в любом месте после этой нагрузки

EDIT.

Ok причина может быть, вы устанавливаете URL и загрузку в WebView, но он еще не инициализирован, поскольку точка зрения еще не загружен из nib.Pass URL-адрес строки и хранить в переменной экземпляра и в метод viewDidLoad установить loadRequest со значением в случае переменной

Определить экземпляр переменной

NSString *_urlToLoad; 

.m

-(void)openDashboard:(NSString *) url { 
    _urlToLoad =[url copy]; 
} 

-(void)viewDidAppear:(BOOL)animated 
{ 
    [self.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:_urlToLoad]]]; 
} 
+0

проверено. все еще не работает –

+0

@HassanZaheer: Обновлен ответ, попробуйте –

+0

как передать строку url, если следующий вид - это uinavigationcontroller? –

Смежные вопросы