

「ボタンを押すとカメラが起動し、撮影してカメラ画面がメインビューに切り替わったタイミングでビューに追加している画像が消える」  
という仕様にしたいのですが、うまくいきません。  
どのようにすればうまくいくでしょうか？

yagi.hidden = true; をカメラ画面を閉じた後に実行させたいので、後ろにそのままいれています。

[code]

    import UIKit
    
    class ViewController: UIViewController, UIImagePickerControllerDelegate, 
     UINavigationControllerDelegate {
    
    override func viewDidLoad() {
            super.viewDidLoad()
       let myImage = UIImage(named: "ume")
                ume.image = myImage
      }
    
    @IBOutlet weak var yagi: UIImageView!
    
    @IBAction func launchCamera(sender: UIButton) {
    
    let camera = UIImagePickerControllerSourceType.Camera
    
    if UIImagePickerController.isSourceTypeAvailable(camera){
    let picker = UIImagePickerController()
    picker.sourceType = camera
    picker.delegate = self
    self.presentViewController(picker, animated: true, completion: nil)
      }
    
    func imagePickerController(picker: UIImagePickerController, 
     didFinishPickingMediaWithInfo info: [String : AnyObject]){
    
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
    self.dismissViewControllerAnimated(true, completion: nil)
    
    yagi.hidden = true;
    
       }
      } 
    
    }
    
[/code]


CC BY-SA 3.0
2016-02-10T03:39:34.490
21925
2016-02-10T05:08:38.333
13958
question
ios swift xcode camera
撮影後カメラ画面が切り替わるタイミングで開始するアクションを実装したい


self.dismissViewControllerAnimated(true, completion: nil)  
のcompletionがviewがdismissされた後に実行されるので、completionに

[code]

    { [unowned self] in self.yagi.hidden = true }
    
[/code]

を渡して実行すると良いと思います。


CC BY-SA 3.0
2016-02-10T05:08:38.333
21928
2016-02-10T05:08:38.333
238
21925
answer