0

ライブラリまたはカメラから画像を取得し、それを使用して何らかの処理を行うと想定されるアプリを作成しています。私は画像を読み込むことができました:

UIImagePickerController *picker =[[UIImagePickerController alloc] init];
picker.delegate = self;
if ([@"cam" isEqual:[[sender titleLabel] text]]) { 
    picker.sourceType = UIImagePickerControllerSourceTypeCamera;
} else if ([@"album" isEqual:[[sender titleLabel] text]]) {
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
}
[self presentModalViewController:picker animated:YES];

正常に動作します。しかし、私がやろうとしているのは、写真が選択されたときに新しいビューに行きたいということです。指定したビューに移動するメソッドchangeViewがありますが、何らかの理由でそれを呼び出すと -(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 機能しません。

プログラムはsegueクラスに入りますが、何も起こりません。

4

1 に答える 1

0

イメージピッカーの「finishpicking」メソッドでは、次のように呼び出します。

[[self presentingViewController] dismissViewControllerAnimated:NO completion:nil];

次に、「提示」ビュー コントローラーで、アニメーションなしで 2 番目のビューへのセグエを即座に実行します。これにより、イメージピッカー ビューと現在の 2 番目のビューが同じビュー コントローラーの一部であるように見えます。このようにして、任意の時点で 1 つのモーダル ビュー コントローラーのみを提示することもできます。モーダル ビュー コントローラー間でデータを渡したい場合は、イメージピッカーのデリゲート プロトコルを設定し、画像データを提示側のビュー コントローラーに渡し、それを 2 番目のモーダル ビュー コントローラーにプッシュします。

prepareForSegue

のプロパティを設定することによるメソッド

segue.destinationViewController
于 2013-06-24T05:54:10.003 に答える