如何使用自己的UIViewController创建可重用的XIB?

时间:2009-02-14 16:53:46

标签: cocoa-touch webkit

我正在尝试创建一个可重复使用的“选择器”。它基本上就像电话的键盘。由于我将在我的iPhone应用程序中大量使用它,因此我一直对尝试使其显示感到沮丧。

它位于自己的XIB文件中,并且具有自己的UIViewController子类作为FileOwner。 但是,当我用:

实例化时
MonthPickerViewController *mpvc
    = [[MonthPickerViewController alloc] initWithNibName:@"MonthPicker"
                                                  bundle:nil];

屏幕上没有任何反应。然而,确实会触发-viewWillAppear方法等等。

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

2 个答案:

答案 0 :(得分:2)

您是否正在推动视图控制器?

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

或者您是否将视图控制器的视图添加为当前视图的子视图?

答案 1 :(得分:2)

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

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

[self.view addSubview:mpvc.view];

如果您使用导航控制器来堆叠视图: -

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