将子视图控制器添加到我的父视图控制器不起作用

时间:2015-12-24 02:11:04

标签: ios ipad

我正在尝试将“child_view_controller”添加到“parent_view控制器”。我在我的iPad应用程序中使用它,其中要求是将另一个控制器(子控制器)添加到父控制器。此外,我必须建立从子视图控制器到我正在使用通知的父视图控制器的通信。但是子视图控制器没有加起来。我发布了代码。

-(void)addPresentViewController:(UIViewController *)viewController storyBoardId:(NSString *)stroyBoardId withFrame:(CGRect)frame contact:(NgnContact *)contact
{
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
    viewController = [storyboard instantiateViewControllerWithIdentifier:storyBoardId];
    viewController.view.frame = frame;
    //viewController.contactToSendChat=contact;
    [self addChildViewController:viewController];
    [self.view addSubview:viewController.view];
    [viewController didMoveToParentViewController:self];
}

1 个答案:

答案 0 :(得分:1)

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"cpdc_check_embed"]) {
        self.checkVC = segue.destinationViewController;
    }
}

...其中checkVC是容器控制器上的属性:

@property (weak,nonatomic) <Viewcontroller name> * checkVC;

您只需将嵌入式segue的故事板ID设置为您想要的任何内容(在本例中为cpdc_check_embed):

this answer

..然后检查-prepareForSegue:sender:。

中的标识符

仍然不是一个出口,但比马特(恕我直言)更清洁,而且比Caleb更具体,你仍然可以得到一个漂亮的故事板:

enter image description here