Cocoa touch 如何使用它制作可重用的XIB';谁有自己的UIViewController?

Cocoa touch 如何使用它制作可重用的XIB';谁有自己的UIViewController?,cocoa-touch,webkit,Cocoa Touch,Webkit,我正在尝试创建一个可重用的“选择器”。它基本上就像手机的键盘。由于我将在iPhone应用程序中大量使用这一功能,我一直对试图让它出现感到沮丧 它位于自己的XIB文件中,并且有自己的UIViewController子类作为文件所有者。 但是,当我用以下内容实例化此内容时: MonthPickerViewController *mpvc = [[MonthPickerViewController alloc] initWithNibName:@"MonthPicker"

我正在尝试创建一个可重用的“选择器”。它基本上就像手机的键盘。由于我将在iPhone应用程序中大量使用这一功能,我一直对试图让它出现感到沮丧

它位于自己的XIB文件中,并且有自己的UIViewController子类作为文件所有者。 但是,当我用以下内容实例化此内容时:

MonthPickerViewController *mpvc
    = [[MonthPickerViewController alloc] initWithNibName:@"MonthPicker"
                                                  bundle:nil];
屏幕上什么也没发生。然而,它确实触发了
-视图将出现
方法等


那么,我在代码或InterfaceBuilder中犯了什么错误,阻止了我的视图出现?

您是否正在推视图控制器

[[self navigationController] pushViewController:mpvc animated:YES];
[[self navigationController] pushViewController:mpvc animated:YES];

还是将视图控制器的视图添加为当前视图的子视图?

是否正在推送视图控制器

[[self navigationController] pushViewController:mpvc animated:YES];
[[self navigationController] pushViewController:mpvc animated:YES];

还是将视图控制器的视图添加为当前视图的子视图?

首先,确保已将Interface Builder中的所有内容都连接好。一个简单的问题是忘记将视图对象连接到UIViewController子类的视图出口

然后,正如Adam所说,您需要实际显示视图。假设您在另一个视图控制器的代码中执行此操作,如果您只是希望新视图显示在当前视图的顶部,则需要以下内容:

[self.view addSubview:mpvc.view];
如果使用导航控制器堆叠视图,则为:-


首先,确保已将Interface Builder中的所有内容都连接好。一个简单的问题是忘记将视图对象连接到UIViewController子类的视图出口

然后,正如Adam所说,您需要实际显示视图。假设您在另一个视图控制器的代码中执行此操作,如果您只是希望新视图显示在当前视图的顶部,则需要以下内容:

[self.view addSubview:mpvc.view];
如果使用导航控制器堆叠视图,则为:-