4

私はImagePickerを表示しようとしていますが、ユーザーが画像を選択した後、画像編集ViewControllerを表示して、ユーザーが画像を操作して、元のViewControllerUIImagePickerControllerでViewControllerを表示する方法

質問:

初期ViewControlleで始まる標準やベストプラクティスのアプローチがあり、その後、画像の編集を行うには、別のViewController後にそこImagePickerを提示し、その後に戻ってそれをすべて表示します最初のViewController、すべての遷移をしながら シームレスに見える?

Try 3の提案は、良い練習方法の下にあるのですか、これを達成するためのよりよい例がありますか?

1.

を試してみて私の最初の考えは以下のコード、画像が選択された後に画像編集ViewController続い介してプログラムImagePickerを提示することでした。しかし、そのアプローチは正しいとは思わなかった。画像が取り出された後、ViewControllerImagePickerを正しくセグにすることができませんでした。 (の束「は意外任意の値をアンラップしながらゼロ」エラーが編集ViewControllerのために示した。)

let imagePicker = MyImagePickerController() 
    imagePicker.delegate = self 
    imagePicker.sourceType = .PhotoLibrary 
    imagePicker.allowsEditing = false 
    imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical 
    self.presentViewController(imagePicker, animated: true, completion: nil) 

マイ第二の試みは、画像編集を提示することであった。2.

試しViewController隠された/透明なものに続いてすぐにImagePickerが読み込まれますが、空の背景が点滅します。

3.だから私は可能と思われる現在のViewControllerの画像を表示するウィンドウの背景を使用して、私の2回目の試行のバリエーションで、この提案に出くわした試してみてください。 http://xissburg.com/presenting-multiple-modal-view-controllers-at-once/

てみてください。4.

私の他のアイデアは、ちょうどImagePicker扱う別のViewControllerを作成し、インターフェイスビルダーでsegues介してViewControllerを接続することです。

答えて

2

最初にViewControllerにピッカーを表示するとviewDidLoadのアニメーションは表示されません。

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
    if let image = info[UIImagePickerControllerOriginalImage] as? UIImage { 

    } 
    dismissViewControllerAnimated(true, completion: { 
     //Present your custom editing controller also create `protocol/delegate` for getting editing image back. 
    }) 
} 
+0

おかげで今

let imagePicker = UIImagePickerController() imagePicker.delegate = self imagePicker.sourceType = .PhotoLibrary imagePicker.allowsEditing = false imagePicker.modalTransitionStyle = UIModalTransitionStyle.CoverVertical self.presentViewController(imagePicker, animated: false, completion: nil) 

'、私は一種のあなたがいない提示アニメーションについて言っているものを得るが、私は' viewDidLoad'にそれが動作しないことを置いたとき、私は警告を受けます"警告: user4806509

+1

@ user4806509 'viewWillAppear'または' viewDidAppear'を試しましたか?返信を確認してください。 –

+0

'viewWillAppear'または' viewDidAppear'がうまくいきました。 .. – user4806509

関連する問題