有问题以编程方式显示模态视图

时间:2013-05-06 18:43:51

标签: ios objective-c cocoa-touch uikit

我对iOS编程/ Objective C非常陌生。

我想要发生的事件流是:用户从标签栏视图控制器中选择标签。一旦加载了VIEW A,它将打开一个模态窗口以获取一些信息

VIEW A - (void)viewDidLoad

ModalYearPickerViewController *modalYearPickerViewController= [[ModalYearPickerViewController alloc] init];

[self presentViewController:modalYearPickerViewController animated:NO completion:nil];

我正在努力让我的年度选择器视图立即加载,以便用户可以从我的选择器中选择一年(在视图B中),然后在将值传递回VIEW A后关闭模态窗口。

现在,第一个视图加载,然后自动进入黑屏。我不确定为什么我的modalYearPickerViewController的视图控制器上有一个选择器等。

任何提示或帮助以编程方式加载模态视图控制器将不胜感激!

谢谢!

2 个答案:

答案 0 :(得分:8)

如果您使用的是故事板:

UIStoryboard *storyBoard = [self storyboard]; 

这将返回当前视图控制器的故事板。我假设你的View Controller A也在你的故事板上。

ModalYearPickerViewController *modalYearPickerViewController  = [storyBoard instantiateViewControllerWithIdentifier:@"ModalYearPickerViewController"];

这将从故事板中实例化您的视图控制器。但是,您还要做的另一件事是将视图控制器故事板ID设置为ModalYearPickerViewController。您可以在故事板中设置自定义视图控制器类的位置下方进行设置。

[self presentViewController:modalYearPickerViewController animated:NO completion:nil];

并完成。

答案 1 :(得分:0)

如果你有一个该viewContrioller的xib文件,它也必须加载,为此你必须调用:

ModalYearPickerViewController *modalYearPickerViewController = 
[[ModalYearPickerViewController alloc] initWithNibName:@"ModalYearPickerViewController" bundle:nil];