2017-07-13 12 views
1

今私は、カメラを使って写真を撮って、画像を画像ビューにアップロードさせることができます。しかし、ユーザーが最終的に戻るときにそのビューコントローラを離れると、その画像はその画像ビュー内に存在しなくなります。とにかく私は写真を撮ってそのイメージビューに入れたら、ユーザーがそれを置き換えるために別の写真を撮るまでその写真が保存されるように写真を保存できますか?ローカルでUIImageViewを保存する

import UIKit 

class ArsenalViewController: UIViewController, 
UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

@IBOutlet var ball1: UIImageView! 

override func viewDidLoad() { 
    super.viewDidLoad() 
} 
override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
} 
@IBAction func addPhoto1(_ sender: Any) { 
    if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.camera){ 
     let imagePicker = UIImagePickerController() 
     imagePicker.delegate = self 
     imagePicker.sourceType = UIImagePickerControllerSourceType.camera 
     imagePicker.allowsEditing = false 
     self.present(imagePicker, animated: true, completion: nil) 
    } 
} 
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
    if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage { 
     ball1.contentMode = .scaleToFill 
     ball1.image = pickedImage 
    } 
    picker.dismiss(animated: true, completion: nil) 
} 

答えて

0

まず、イメージデータ(UserDefaults、Core Data、データベース)を保存してから取得する必要があります。 UserDefaultsは簡単ですが、これを試してみてください。

//Encoding 
    let imageData:NSData = UIImageJPEGRepresentation(pickedImage!)! as NSData 

    //Saved image 
    UserDefaults.standard.set(imageData, forKey: "savedImage") 

    //Decode 
    if let data = UserDefaults.standard.object(forKey: "savedImage") as! NSData{ 
     myImageView.image = UIImage(data: data as Data) 
    } 

エンコーディングと保存画像をあなたの画像を更新し、ビューはその要素(viewDidAppear法)の全てをロードした後に復号化が行われる必要があります後に右起こるべき。

イメージを一度エンコードして保存した後、ユーザーがVCを離れて戻ってきた場合でも、いつでもイメージをデコードできます。

+0

「UIImageView!」の値を変換できませんというエラーメッセージが表示されます。 //エンコーディングの下の最初の行を実装するときに、予想される引数型 'UIImage'に設定します。 –

+0

image:imageView.image(ball1.image)を使用して画像にアクセスします。 –

+0

上記のコードをどこに実装するかについてご意見を伺いたいと思います。 1つのわずかな問題で動作しています。ユーザーがそのVCを離れて何らかの理由で画像が回転してしまった場合、何の説明がありますか? –

関連する問題