0

我一直在更新一個應用程序,我有一些爲我構建。在更新中,我正在制定故事板遊戲等等,並且已經完成了應用程序。一個小問題是當我用相機拍攝照片並且圖像出現在TakenImageView中時,NavBar不可見。然而,如果我從畫廊去TakenImageView,NavBar顯示!啊。 從HomeView中呈現圖像選擇器,然後在用戶選擇相機或圖庫後移動到TakenImage。 我試圖改變爲準備並執行Segue,但是當選擇圖像或從相機的UsePhoto時,segue不會從畫廊中觸發。我可以將圖像傳送到TakenImageView的唯一方法是通過在代碼中實例化視圖來手動切割。見下面...導航欄不會顯示在相機圖像捕獲後

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; 
{ 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    TakenImageVC *takenVC = [storyboard instantiateViewControllerWithIdentifier:@"TakenImageVC"]; 
    takenVC.takenimage = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    [picker pushViewController:takenVC animated:YES]; 
    //_pickerImage = [info objectForKey:UIImagePickerControllerOriginalImage]; 
    //[self performSegueWithIdentifier:@"TakenSegue" sender:self]; 
} 

準備segue只有這三個。前兩個是模式,並從按鈕鏈接。 TakenSegue從控制器鏈接。當然,我將destinationController註釋掉了,因爲如前所述,使用perform時,segue不會觸發。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"InfoSegue"]) 
    { 
     NSLog(@"Info Modal view"); 
    } 
    if ([segue.identifier isEqualToString:@"HelpSegue"]) 
    { 
     NSLog(@"Help Modal view"); 
    } 
    if ([segue.identifier isEqualToString:@"TakenSegue"]) 
    { 
     NSLog(@"Taken Segue"); 
     //TakenImageVC *takenVC = segue.destinationViewController; 
     //takenVC.takenimage = _pickerImage; 
    } 
} 

在嘗試不同的方法,我已經加入了HomeView和TakenImageView之間的NavigationController和屬性已經改變了類的UIImagePickerController。 儘管如此,NavBar並沒有顯示...但只有在用相機拍照之後! 而且,是的,我將導航欄設置爲不隱藏...在HomeView和TakenView中。這是在兩個控制器的視圖中。

目標是iOS7.1及更高版本。運行Xcode 7.

我很感激任何人的幫助,提示導致導航欄無法從相機顯示的東西,當然還有一種解決方法!謝謝!

回答

0

即使嘗試了很多場景之後,我仍無法使用相機後的導航欄顯示下一個視圖。 因此,在看到另一篇文章中的提示後,我將主控制器與取景器之間的導航控制器刪除,將模擬度量/頂部欄的屬性更改爲「無」,並在TakenView和下面兩個視圖中插入工具欄。是的,它需要在Storyboard中進行更多的工作,而且我必須在標題應該添加的地方添加標籤,但它都可以正常工作。而且,除了將後退或取消按鈕更改爲unwindSegues外,我不必再添加任何代碼。