簡體   English   中英

視圖控制器之間的Segue無法運行

[英]Segue between view controllers not functioning

我有一個允許用戶拍照的應用程序,在拍照后(按一下操作)然后應導航到另一個視圖控制器,以允許用戶丟棄,編輯或保存照片。 我嘗試從didFinishPickingMediaWithInfo方法的相機視圖控制器中選擇,如下所示:

- (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info {

    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];
    UIImage *originalImage, *editedImage, *imageToSave;

    // Handle a still image capture
    if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0) == kCFCompareEqualTo) {

        editedImage = (UIImage *) [info objectForKey:
                               UIImagePickerControllerEditedImage];
        originalImage = (UIImage *) [info objectForKey:
                                 UIImagePickerControllerOriginalImage];

        if (editedImage) {
            imageToSave = editedImage;
        } else {
            imageToSave = originalImage;
        }

        // Save the new image to camera roll (will change later)
        UIImageWriteToSavedPhotosAlbum (imageToSave, nil, nil , nil);
        [self.capturedImages addObject: imageToSave];

        _imageView.image = [self imageToSave:imageToSave];
    }


CaptureViewController *capture = [[CaptureViewController alloc] init];
[self performSegueWithIdentifier:@"takePic" sender:self];

}

當按下按鈕時,將調用didFinishPickingMediaWithInfo方法,提示[_picker takePicture]; 這是我的准備方法:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller

    //this is just a temporary fix
    if ([segue.identifier isEqualToString:@"takePic"]) {
        CaptureViewController *destViewController = segue.destinationViewController;
    }
}

segue標識符是“ takePic”,所以這不是問題。 那太簡單了。 當我嘗試執行Segue時,什么也沒發生。 相機仍然顯示,並且我在imagePickerController's cameraOverlayView中擁有的兩個按鈕仍然存在(盡管它們不起作用)。 非常感謝幫助!

我看不到您要解雇圖像選擇器控制器的位置。 UIImagePickerController對如何顯示它非常挑剔 因此,請確保以預期的方式呈現它。 捕獲或選擇圖像后,還需要關閉圖像選擇器控制器。 由於您看不到它消失,因此我強烈懷疑您沒有在任何地方解散它。

添加如下一行:

[picker dismissViewControllerAnimated:YES completion:nil];

到您的... didFinishPickingMediaWithInfo:方法。

暫無
暫無

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

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