1

UIImagePickerController を使用して、カメラ ロールまたはカメラから取得した画像で prepareForSegue を使用しようとしています。これは私が今持っているもので、それを終わらせる方法がわかりません。あなたが私を助けてくれることを願っています

ViewController.h

    @interface ViewController : UIViewController
<UIImagePickerControllerDelegate, UINavigationControllerDelegate>

-(IBAction)escoger:(id)sender;
-(IBAction)camara:(id)sender;
@property(strong,nonatomic) UIImagePickerController *imagepicker;
@property(strong,nonatomic)IBOutlet UIImageView *image;

Viewcontroller.m

    -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{


    if ([segue.identifier isEqualToString:@"escoger"]) {

        //UIImagePickerController *intro = [UIImagePickerController  ]

        imagepicker = [[UIImagePickerController alloc]init];

        imagepicker.delegate = self;

        imagepicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;


        [self presentViewController:imagepicker animated:YES completion:nil];

}}
4

3 に答える 3

2

内にイメージ ピッカーを表示することはできませんprepareForSegue。撮影した写真を実際に使用したい場合はそうではありません。あなたがする必要があるのは、現在セグエをトリガーしているアクションが代わりに画像ピッカーを開くように、物事を再配線することです。次に、ピッカー デリゲートのdidFinishPickingMediaWithInfoで、セグエ ( performSegueWithIdentifier:sender:)を手動でトリガーします。

于 2012-12-04T22:45:07.887 に答える
1

まあ、ストーリー ボードで UIImagePickerController を使用する場合、これは比較的簡単です。ストーリー ボードで新しいビュー コントローラーを作成し、セグエを追加するだけです。次に、ID インスペクターで viewcontroller クラスを UIImagePickerController に設定します。

ここに画像の説明を入力

次に、 prepareForSegue: メソッドを実装し、ソースをカメラに次のように設定します。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    UIImagePickerController *controller = [segue destinationViewController];
    controller.sourceType = UIImagePickerControllerSourceTypeCamera;   
}

そして、それは魅力のように機能します。

于 2012-12-04T23:20:01.013 に答える
0

これを行うことはお勧めしません。基本的に、あなたは何か他のことをするためにセグエを使おうとしています(しかし実際のセグエは実行しません)。代わりに、ボタンなどをに接続するIBActionと、イメージピッカーが表示され、実際にセグエを実行したいときに、

 [self performSegueWithIdentifier:@"escoger" sender:self];

[更新]あなたのコメントに返信します。これを機能させるには、いくつかのことを行う必要があります。

1)ストーリーボードからセグエを削除します

2) ボタンからではなく、ViewControllerからドラッグして別のセグエを作成します。これにより、2つのView Controllerの間にセグエが作成されますが、どのボタンにも接続されません。

3)IBでボタンのIBActionメソッドを作成します(チュートリアル) 。

4)その方法では、画像ピッカーを表示します

5)イメージピッカーから戻ったら、コードでセグエを実行します(を呼び出してperformSegueWithIdentifier)。6)これで、メソッド内の宛先ViewControllerに画像を渡すことができます prepareForSegue

于 2012-12-04T22:47:41.887 に答える