2013-03-16 73 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

相關問題