2012-04-15 66 views
12

我已将所有的表视图逻辑封装在链接到视图的UITableViewController上。这是使用故事板完成的。如何使用Storyboards在另一个控制器中查看UITableViewController

我要嵌入另一个视图控制器/视野内这一逻辑和视图

我有下列组分(下面种像可滚动表的标头信息。): CustomViewController其被连接到UIView的 CustomTableViewController链接到一个UITableView(从情节串连图板中拖)

从本质上讲,我试图模仿秒表的场景在iOS的时钟程序(从情节串连图板拖入)

  • 什么是野兽的方法呢?
  • 它是如何编程的?
  • 这可以在故事板上以某种方式完成吗?

任何帮助将不胜感激。谢谢

+0

我不太明白...你想添加一个UIViewController作为子视图吗? – CodaFi 2012-04-15 04:19:00

+1

“野兽进场”,rawr! – pfrank 2013-09-29 02:23:53

回答

25

好吧,算了一下。此解决方案是iOS 5特有的,因为此功能已添加到那里。这种方法适用于故事板。

设置:目的是在另一个控制器中托管一个视图控制器视图和逻辑。

  1. 由于没有参考子视图控制器在故事板没有本质的方式,我们需要给视图控制器的名称。这可以通过在故事板中的控制器上填写“标识符”属性来完成。注意:确保您给控制器标识符而不是控制器视图。

  2. 实例化您想要聚合的控制器。这可以通过主机控制器完成。

    UIViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"ControllerIdentifier"]; 
    
  3. 子控制器添加到父控制器

    [self addChildViewController: controller]; 
    
  4. 添加子控制器查看到父控制器视图。请注意,如果您想在父控制器中添加一个占位符视图来添加子视图,那么这是您执行此操作的位置。在这里,我将它添加到父控制器中的一个名为stage的UIView。

    [self clearStage]; 
    [self.stageView addSubview:controller.view]; 
    presentedController.view.frame = self.stageView.bounds; 
    

,就是这样。很简单。我已经成功地使用了切换控制器并在自制选项卡控件中查看。子控制器在视图生命周期中注册它的视图,所以viewDidLoad等都在这个子视图控制器中按预期工作。

希望这可以帮助别人。

相关问题