簡體   English   中英

從相機方法調用unwind segue失敗

[英]calling unwind segue from camera method fails

我的unwind segue代碼工作正常。 我用故事板來連接起來。 當我運行應用程序時,一切都很好。

但除了單擊按鈕,我還想從代碼中解除。 基本上我正在呈現一個包含兩個按鈕的模態: 相機圖庫 用戶點擊其中一個按鈕可以從相機或圖庫中獲取圖像。 所以一旦獲得圖像,我就不再需要模態視圖了。 因此,作為方法的最后一步(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info ,我將我的unwind segue稱為

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
  //... do work here and then
  [self performSegueWithIdentifier:@"myUnwindName" sender:self];
}

但是當我這樣做時,我得到以下錯誤

attempt to dismiss modal view controller whose view does not currently appear. 
self = <UITabBarController: 0x127d09b80> modalViewController = <UIImagePickerController: 0x127e2fd80>

我理解這個問題。 但我不知道如何解決它。

基本上我不應該在“同時”進行調用時相機視圖仍然在屏幕上(即我的模態還沒有在屏幕上)。 但那我在哪里打電話? 是否有像ImagePickerDidClose或類似的東西? 我找不到一個。 所以感謝任何幫助。

imagePickerController:didFinishPicking...方法觸發時,這是您解除圖像選擇器控制器的機會:

[picker dismissViewControllerAnimated:YES completion:nil];

在大多數情況下,當我們調用這行代碼時,我們將為完成參數發送nil 但是,如果我們想在解雇完成時做一些事情(正如我們在這里所做的那樣),我們會傳遞一個完成塊參數:

[picker dismissViewControllerAnimated:YES completion: ^{
    [self performSegueWithIdentifier:@"myUnwindName" sender:self];
}];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM