为了在界面构建器中的模态视图控制器上放置导航栏(并设置在详细视图控制器中调用操作的栏按钮项),您需要经过一个间接级别(您的导航栏将位于一个 . xib,您的详细视图的详细信息将在不同的 xib 中):
创建一个包含导航控制器对象的 xib 文件,并将其根视图控制器设置为您希望使用导航栏模态显示的详细视图控制器。
将条形按钮项添加到细节控制器的导航栏,并将它们连接到细节视图控制器对象中的 IBActions。
您的详细视图控制器需要位于单独的 .xib 文件中
创建一个“加载器”对象,该对象仅用于保存导航控制器 iboutlet,并将其设置为该 xib 的 File's Owner 对象:
@interface Loader : NSObject
@property (nonatomic, retain) IBOutlet UINavigationController *navVC;
@end
@implementation Loader
@synthesize navVC;
- (void) dealloc
{
[navVC release];
[super dealloc];
}
@end
包含导航控制器的 xib 文件将如下所示:
确保导航控制器对象连接到“Loader”对象的 navVC 出口,并确保条形按钮项连接到详细视图控制器所需的 IBAction。
然后,您使用以下代码呈现整个事情:
Loader *loader = [[[Loader alloc] init] autorelease];
[[NSBundle mainBundle] loadNibNamed:@"ModalVC" owner:loader options:nil];
[self presentModalViewController:loader.navVC animated:YES];