2017-08-05 4 views
0

画面に複数のボタンがあります。再起動後に選択したボタンイメージを維持するSwiftを使用しているiOS 3

あなたはそれがライブラリまたはカメラのいずれかから画像を選択するUIImagePickerControllerを使用し、ボタンアイコンにその画像を保存し関数を呼び出すボタンをクリックします。 (基本的にクリック可能な画像)。

私は今、アプリを再起動したときにボタンは、割り当てられた画像を保存するようにいくつかの永続性を追加しようとしています。私はこれを達成する方法を説明している回答をまだ見つけていません。

プロジェクトにコアデータフレームワークを追加しました。どのように進めるべきかについて誰も助言することができます。 - ありがとう。

var newPicImg : UIButton?; 

@IBOutlet weak var ButtImg1: UIButton! 
@IBOutlet weak var ButtImg2: UIButton! 
@IBOutlet weak var ButtImg3: UIButton! 

ボタン:

@IBAction func chooseImage(_ sender: UIButton) { 
    newPicImg = ButtImg1 
    picStuff() 
} 
@IBAction func chooseImage1(_ sender: UIButton) { 
    newPicImg = ButtImg2 
    picStuff() 
} 

@IBAction func chooseImage2(_ sender: UIButton) { 
    newPicImg = ButtImg3 
    picStuff() 

} 

は、画像を選択してください/テイク:

func picStuff() 

{ 
    let imagePickerController = UIImagePickerController() 
    imagePickerController.delegate = self 

    let actionSheet = UIAlertController(title: "Photo Source", message: "Choose a source", preferredStyle: .actionSheet) 

    actionSheet.addAction(UIAlertAction(title: "Camera", style: .default, handler: {(action:UIAlertAction)in 
     imagePickerController.sourceType = .camera 
     self.present(imagePickerController, animated: true, completion: nil) 
    })) 

    actionSheet.addAction(UIAlertAction(title: "Photo Library", style: .default, handler: {(action:UIAlertAction)in 
     imagePickerController.sourceType = .photoLibrary 
     self.present(imagePickerController, animated: true, completion: nil) 
    })) 
    actionSheet.addAction(UIAlertAction(title: "Cancel", style: .cancel, handler: nil)) 
    self.present(actionSheet, animated: true, completion: nil) 
} 

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { 
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage 
    newPicImg?.setImage(image, for: .normal) 
    picker.dismiss(animated: true, completion: nil) 


} 

答えて

0

はい、あなたはCoreDataを使用し、それらを取得し、その後、画像を保存するためのデータベースを作成することができます。しかし、多分3枚の画像を保存するだけで、それを変更することができれば、多くの面倒です。しかし、常に最大3枚です。

もっと簡単な解決策は、画像を文書に保存することでしょう。特定の名前(imageButton1.pngなど)のディレクトリを検索したり、必要に応じてそれらを置き換えます。ここで

それを行う方法についての記事:

Save An Image To Application Documents Folder From UIView On IOS

+0

おかげゼロが、その答えは、ベースの大部分のObjective-Cのようです。私は、Swift 3の視点に従うには少し基本的なものが必要だと思います。 – tsh79

+0

実際には、同じ記事で回答のスウィフトバージョンがあります:https://stackoverflow.com/a/39062752/4691224 – zero

+0

はい、残念ながら私の現在の理解度を超えています。 – tsh79

関連する問題