我對使用NIB文件的時間和使用代碼的時間有點困惑。 這是我的問題:iPhone:筆尖文件+代碼=混淆
我有一個具有RootController和它的NIB文件的導航應用程序。 RootController的NIB文件包含一個TableView。 當我點擊一個單元格時,我用加載內容的請求初始化一個新的連接。 當連接完成加載我創建一個NIB文件的新postViewController(自定義)和我把它放在navigationController的viewController棧這樣的:
PostViewController *postViewController = [[PostViewController alloc] initWithNibName:@"PostViewController" bundle:[NSBundle mainBundle]];
[postViewController.webView setDelegate:self];
postViewController.postContent = [[postsData objectForKey:@"post"] objectForKey:@"content"];
[self.navigationController pushViewController:postViewController animated:YES];
[PostViewController release];
然後,你可以看到我嘗試設置RootViewController的作爲webView的代理,以便能夠攔截點擊鏈接並在堆棧上推送新的ViewController。我需要這個新的視圖來使用後退按鈕的導航欄。
問題:看起來像setDelegate不工作,因爲webView:shouldStartLoadWithRequest:navigationType永遠不會被調用!
我想我應該在NIB文件中設置委託,但我不知道如何。從PostViewController的NIB文件並不瞭解RootViewController的...
下面是NIB文件的截圖:
如果您需要更多細節只是問我。
非常感謝...幫助我不敲我的頭一天:)
當您嘗試設置委託時,您是否檢查過存在postViewController.webview?我敢打賭它是零,因爲視圖尚未加載。如果是這樣的話,你必須找到另一種方法來設置你的RootVC作爲PostVC的Webview委託,就像在你的PostVC中使用一個屬性一樣,並且你的PostVC應該在ViewDidLoad方法中設置webview委託我認爲 – scalbatty 2011-04-08 15:27:20
實際上,如果該筆尖的網點設置正確,webView不應該是零(我認爲)。也許在nib文件中有問題? – 2011-04-08 15:42:26
@Luzal:你說得對,postViewController.webView是零,當我嘗試將它設置爲委託。我一直有這樣的問題,如果你有一些建議,讓我在這個問題上,我會很高興聽到他們... – teum 2011-04-11 08:14:56