2

ビデオキャプチャ停止ボタンを押した直後に新しいビューコントローラを開きたい。私はこのコードを使用していますが、これを行うことができません。

-(void)shootvideo
    {


    UIImagePickerController *imagePicker =
    [[UIImagePickerController alloc] init];
    imagePicker.delegate = self;


        imagePicker.sourceType =  UIImagePickerControllerSourceTypeCamera;



        imagePicker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil];

    [self presentModalViewController:imagePicker animated:YES];


    }




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

    NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType];

         if (CFStringCompare ((__bridge CFStringRef) mediaType, kUTTypeMovie, 0)
         == kCFCompareEqualTo) 
         {

         NSString *moviePath = [[info objectForKey:UIImagePickerControllerMediaURL] path];

           NSURL *videoUrl=(NSURL*)[info objectForKey:UIImagePickerControllerMediaURL];


         if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) {
         UISaveVideoAtPathToSavedPhotosAlbum (moviePath, nil, nil, nil);
         }
         }


         [self dismissModalViewControllerAnimated:YES];

         // nextviewcontroller *test=[[nextviewcontroller alloc]init];

     //[self.navigationController pushViewController:test animated:YES];




         }

    }

ビデオキャプチャの停止ボタンを押した直後に、別のビューに移動します。

4

2 に答える 2

2

によって画像ピッカーを提示したpresentModalViewcontrollerので、画像ピッカーを呼び出すことはできません[self.navigationController pushViewController:test animated:YES];。2つのオプションがあります1つは簡単です

[self dismissModalViewControllerAnimated:YES];1)画像ピッカーを呼び出す代わりに、

   nextviewcontroller *test=[[nextviewcontroller alloc]init];
   [self presentModalViewController:nextviewcontroller animated:YES];

2)デリゲートを使用して新しいViewControllerを呼び出します。

于 2012-05-18T16:37:16.377 に答える
0

遅延時間0.2が約0.2のperformSelectorを使用すると、それが可能になります。ここでは、メソッドを呼び出すだけで正常に機能し、メソッドでnextViewControllerをプッシュできます。これがお役に立てば幸いです... :)

于 2012-05-18T17:05:41.953 に答える