我对何时应该使用 NIB 文件以及何时应该使用代码感到有些困惑。这是我的问题:
我有一个带有 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 文件的屏幕截图:
如果您需要更多详细信息,请询问我。
非常感谢......帮助我不再敲我的头一天:)