私はプログラミングが新しく、2つのボタンがあります.1つはカメラ、もう1つはchooseExistingPhotoです。私はカメラのボタンでカメラ機能にアクセスすることができ、別のビューコントローラでUIImageに取り込む画像を表示しようとしています。私のコードでは、撮影前にスナップショットをレンダリングできないというエラーが出ています。これは、新しいView Controllerを表示するためにボタンをセグーとして使用しようとしているためです。ユーザーがフォトライブラリで画像を選択するか、写真を撮るまで、セグアクションを遅らせる方法はありますか?ユーザーがフォトライブラリで画像を選択するか、写真を撮るまで、セグアクションを遅らせる方法はありますか? SWIFT
@IBActionのFUNCカメラ(送信者:ANYOBJECT){
let picker = UIImagePickerController()
picker.delegate = self
picker.sourceType = .Camera
presentViewController(picker, animated: true, completion: nil)
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
self.performSegueWithIdentifier("Show", sender: self)
func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
{
if segue.identifier == "Show" {
imageDisplay.image = info[UIImagePickerControllerOriginalImage] as? UIImage
dismissViewControllerAnimated(true, completion: nil)
}
}
}
これは私のボタンの私が持っているコードです。 imageDisplayはImageView用に作成したイメージコンセントで、このコードを認識するためにImageDisplayViewControllerをメインのViewControllerのスーパークラスにしました。
これは私が受け取っているエラーです。
レンダリングされていないビューをスナップショットすると、空のスナップショットが作成されます。画面の更新後にスナップショットまたはスナップショットを作成する前に、ビューが少なくとも1回レンダリングされていることを確認してください。
他の人があなたの問題をよりよく理解して助けてくれるように、ここにコードを投稿してください。 – Amir
ボタンから直接セグをトリガーするのではなく、 'performSegueWithIndentifier'を使ってプログラムでセグをトリガーする必要があるようです。 – Paulw11