2013-03-16 49 views
0

此刻我的错误表明我的视图控制器已经呈现为null。我想我有我的下面的代码正确的想法,但我没有正确实施它。感谢您的帮助呈现第二个模式视图控制器的问题

-(IBAction)datePicker 
{ 
    //UIViewController *presenter = self.presentingViewController; 

    [self dismissViewControllerAnimated:YES completion:^{ 
     /* 
     UIStoryboard* sb = [UIStoryboard storyboardWithName:@"MainStoryboard.storyboard" 
                 bundle:nil]; 
     UIViewController* dateView = [sb instantiateViewControllerWithIdentifier:@"DatePickerViewController"]; 

     */ 

     [self performSegueWithIdentifier:@"dueDateSegue" sender:self]; 
     //[presenter presentViewController:dateView animated:YES completion:nil]; 

     /* 
     [self presentViewController:dateView animated:YES completion:^{ 

      UIBarButtonItem *saveDate = [[UIBarButtonItem alloc] 
             initWithTitle:@"Save Date" 
             style:UIBarButtonItemStyleDone 
             target:self 
             action:@selector(labelDatePicker)]; 
      self.navigationItem.rightBarButtonItem = saveDate; 
      pick = [[UIDatePicker alloc] init]; 
      [pick setFrame:CGRectMake(0,200,320,120)]; 
      //[pick addTarget:self action:@selector(done) forControlEvents:UIControlEventValueChanged]; 
      //dateFieldText.delegate = self; 
      //dateFieldText.inputView = pick; 

     }]; 
     */ 

    }]; 

} 
+0

你是否解雇了av当一个人没有真正出现时控制控制器?如果没有什么可以解雇的话,这个街区是否会运行? dismissViewControllerAnimated:completion的文档表明,除非事实上被解散,否则块将不会运行。 – GoZoner 2013-03-16 19:24:18

回答

0

在该方法中datePicker添加以下行的第一行代码:

UIViewController *presenter = self.presentingViewController; 

然后代替:

[self presentViewController:dateView animated:YES completion:nil]; 

尝试使用:

[presenter presentViewController:dateView animated:YES completion:nil]; 
+0

Btw只是注意到你只是使用'init'作为dateView。它控制的视图呢? – Rakesh 2013-03-16 19:24:42

+0

所以我在上面实现了你的解决方案,但它只是显示一个黑屏。我使用的是故事板btw,所以initwithnib不起作用。可能会发挥作用。我会尝试 – STANGMMX 2013-03-16 19:29:56

+0

你试图呈现哪个视图?在你的代码中,dateView只是被分配插入,没有视图(即它没有从任何xib初始化,也没有视图属性集)。与'dateView'视图控制器相关的视图是什么? – Rakesh 2013-03-16 19:34:29

相关问题