[英]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.