从Nib加载UINavigationController子类
  我的情况如下:我的类SettingsViewController是UINavigationController一个子类。  该类包含其rootViewController的逻辑。  例如,它充当该根视图控制器中两个表视图的委托和数据源。 
  我没有问题以编程方式进行设置。  在SettingsViewController的初始化程序中,我可以创建一个额外的UIViewController作为根视图控制器,在其视图中定位表视图,并将它们的委托和数据源设置为self 。 
  但我想通过一个Nib加载该根视图。  问题是,我不知道如何将该Nib与我的SettingsViewController连接,如何设置代理和数据源。  SettingsViewController不能从Nib中访问。  '文件所有者'表示根视图控制器,而不是SettingsViewController 。 
如何从我的根视图控制器Nib中访问我的UINavigationController子类?
提前致谢。
  你可以在你的笔尖里声明一个视图并设置类SettingsViewController (如果它是一个视图)。 
  或者在IB中拖动视图控制器并设置类类型SettingsViewController 
  //编辑:所以你想呈现一个像MFMailComposerViewController的视图。  我的应用程序中也有一个MessageViewController ,几乎相同: 
MessageViewController *mView = [[MessageViewController alloc]initWithNibName:@"MessageView" bundle:nil];
mView.navController = [[UINavigationController alloc] initWithRootViewController:mView];
[masterView presentModalViewController:mView.navController animated:YES];
[mView release];
  请注意, navController是一个UINavigationController ,它在IB中连接到导航控制器。 
您将无法访问超出您的笔尖文件所有者的对象。 您需要从该笔尖加载视图后以编程方式设置这些属性; 您的rootViewController可以在其-viewDidLoad中设置其表的委托和数据源。
此外,我不得不问,你为什么继承UINavigationController。 类参考警告你“这个类不适用于子类。” 如果您只需要这个SettingsViewController,那么您的代理/数据源逻辑可能会有更好的地方。
链接地址: http://www.djcxy.com/p/87713.html