2012-05-16 115 views
0

我實現FB這樣的功能,我無法從另一個視圖 - 控制

  1. 填充菜單的列表,從左側的loadRequest數據庫的網頁流量。
  2. 點擊任何菜單都會在webview中加載相關的網頁。

兩個菜單的和網頁視圖在不同的視圖 - 控制

當菜單被點擊,我發送通知消息,第一視圖 - 控制和通知消息裏面我寫的代碼的loadRequest來。

但是,這是行不通的。我能夠從第一個Viewcontroller成功加載請求,但不能從其他視圖控制器執行。

這裏是我的代碼:

的ViewController 1:在ViewLoad

NSNotificationCenter *note = [NSNotificationCenter defaultCenter]; 
[note addObserver:self selector:@selector(eventDidFire:) name:@"ILikeTurtlesEvent" object:nil]; 

    - (void) eventDidFire:(NSNotification *)note { 
      web.delegate=self; 
     [web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]]]; 
    } 

的ViewController 2:

NSNotificationCenter *note = [NSNotificationCenter defaultCenter]; 
[note postNotificationName:@"ILikeTurtlesEvent" object:self]; 

回答

0

這可能是肛門對療法你正在嘗試做的選擇:

viewcontroller1.h: 
-(void)clickmenu:(id)sender; 

viewcontroller1.m: 
-(void)clickmenu:(id)sender 
{ 
    viewcontroller2 *obj = [[viewcontroller2 alloc] initWithNibName: @"viewcontroller2" bundle: [NSBundle mainBundle]]; 
[obj Loadwebview:[NSURL urlwithstring:@"http://www.google.com"]]; 
} 


ViewController2.h: 
-(void)Loadwebview:(NSURL *)url; 
viewcontroller2.m: 
-(void)Loadwebview:(NSURL *)url 
{ 
     web.delegate=self; 
    [web loadRequest:[NSURLRequest requestWithURL:url]]; 
} 
+0

這裏在你的代碼clickmenu需要調用所有進程來執行。但這不是我的問題的場景..請求是從Viewcontroller2而不是viewcontroller1啓動。 – Sangeeta

0

我發現我刪除就行了解決方案:

web.delegate =自我; 和代碼工作!奇怪的 !!但是是真的 。這裏是我的工作代碼:

- (void) eventDidFire:(NSNotification *)note { 
    // web.delegate=self; 
[web loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.11.77:5200/test/test.html"]]]; 

} 

希望它可以幫助別人! 「:)

相關問題