2012-11-18 25 views
1

我想用'HomeScreen'啓動我的應用程序,(在其他一些選項中)顯示一個按鈕來選擇一個圖像,並恢復使用前一個會話的某個圖像進行編輯。調整UINavigationController ViewControllers的順序NSArray

  • 按鈕:選擇
  • 按鈕:編輯

當選擇「編輯」,將帶給用戶編輯視圖,在使用導航控制器等精細到目前爲止 當選擇「匹克」它會顯示iOS imagePickerController等。

但是,選擇圖像後,我不想返回到「HomeScreen」。當UIImagePickerController被解散時,它將需要「揭示」「編輯」視圖,就好像它已經插入到'ViewControllers NSArray'中,就在UIImagePickerController的下面。

「編輯」階段中的「返回」按鈕將始終將用戶帶回到「HomeScreen」,因此即使通過imagePicker進入了此屏幕,仍然必須返回到「HomeScreen」

其中之一是,「主屏幕」必須後退按鈕的原因,是該應用程序是免費的應用程序,但在主屏幕會做IAP解鎖更多的功能選項,更像是「關於「等等......

所以...我怎麼能調整的導航控制器

順序還是有更好的方法,從去A到B到C並返回到A(或從A到C並返回到A)

回答

0

在'C'場景的左上角添加一個欄按鈕項(這將覆蓋返回按鈕自動放置在那裏)。

下該按鈕,做這樣的事情創建一個IBAction爲:

- (IBAction)goToA:(id)sender { 
    [self.navigationController popToRootViewControllerAnimated:YES]; 
} 
+0

哇。那是比我想象的更爲簡單的方式(就像我爲之奮鬥的任何事情一樣) - 但是,然後我不得不重新設置'C'來代替UIImagePicker。 ---通過點擊'C'中的'後退按鈕'並使其具有Animated:YES,這將一次一個地或全部地滑回所有的ViewControllers並直接滑向'RootViewController'? – vanHoesel

+0

此方法立即轉到根視圖控制器並從導航器堆棧中彈出所有其他視圖。 –

+0

畢竟這不是那麼困難,這是更容易,看到我自己的答案下面 – vanHoesel

0

homeViewController.m它只是一個爲塞格斯建立正確的事情的事情:在一個的viewController拖 和有線起來到'編輯'按鈕,InterfaceBuilder創建一個segue,並給它標識符presentImageEditorViewController。然後像往常一樣,在實現文件中設置segues(爲了方便,我跳過了設置imagePicker等的部分)。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"presentImagePickerController"]) { 
     [segue.destinationViewController setDelegate:self]; 
     NSLog(@"Presenting ImagePickerController"); 
    } 
    else if ([segue.identifier isEqualToString:@"presentImageEditorViewController"]) { 
     NSLog(@"Presenting ImageEditorController"); 
    } 
} 

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { 
    NSLog(@"Picked some image"); 
    [self performSegueWithIdentifier:@"presentImageEditorViewController" sender:self]; 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

同時在imagePicker選擇圖像時,它調用委託梅索德didFinish…,只是設置了SEGUE到ImageEditorVieController然後駁回ImagePickerController,返回按鈕會在imageEditor的導航欄

就好了
相關問題