以编程方式加载另一个viewController

时间:2014-02-17 12:16:30

标签: ios objective-c uiviewcontroller

我在这里问了一个关于这个问题的问题, Switching between viewControllers manually

我尝试了以下建议:

//将视图添加到当前视图

UIViewController *sv=[[PromotionView alloc]init];
[self.view addSubview: sv.view];
[self addChildViewController: sv];
[sv didMoveToParentViewController: self];

下一个视图是另一个与storyboard.

中的视图相关的viewcontroller类

真正发生的是下一个viewController的viewDidLoad方法被执行,但当前视图仍然存在,我在屏幕上看不到下一个视图。

为什么?

2 个答案:

答案 0 :(得分:0)

你必须提供viewcontroller而不是addchild来显示屏幕上的viewcontroller检查下面是否提供viewcontroller:

导入PromotionView类执行以下操作:

  

PromotionView * sv = [[PromotionView   alloc] initWithNibName:@“PromotionView”bundle:nil];

     

[self presentModalViewController:earningStmtViewController   动画:YES];

答案 1 :(得分:0)

在故事板中为视图指定名称ID,而不仅仅是:

UIViewController *sv = [self.storyboard instantiateViewControllerWithIdentifier:@"ServiceListView"];

  [self.view addSubview: sv.view];
  [self addChildViewController: sv];
  [sv didMoveToParentViewController: self];