2017-03-21 10 views
0

xcode 8 swift 3でアプリケーションを作成しようとしていますが、ユーザーがimagePickerControllerを使用して画像を追加した後、ユーザーがimagePickerControllerを保存または終了すると、画像がローカルに保存されるので、 (たとえば、デバイスを再起動した後に)イメージがそこにあります。ちょうど私がカメラのロールに画像を保存したくないことを明確にする。ここで私のコードは、これまでずっと保存やロードの方法がなくても(ちょうど保存ボタンの参照)、私は長い間これをやろうとしてきたので、どんな助けも非常に感謝しています。UIImageViewにイメージを保存して読み込むにはどうすればいいですか?

import UIKit 


class timetable: UIViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate { 

@IBOutlet var imageviewtimetable: UIImageView! 


@IBAction func save(_ sender: Any) { 


} 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view. 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

@IBAction func selectImageFromPhotoLibrary(_ sender: Any) { 

    let imagePickerController = UIImagePickerController() 
    imagePickerController.sourceType = .photoLibrary 
    imagePickerController.delegate = self 
    present(imagePickerController, animated: true, completion: nil) 


} 



func imagePickerControllerDidCancel(_ picker: UIImagePickerController){ 
    dismiss(animated: true, completion:nil) 
} 


func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 

    let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage 
    imageviewtimetable.image = selectedImage 

    dismiss(animated: true,completion:nil) 
} 





} 
+0

を作成します。それは良い方法ではないのですけれども、http://stackoverflow.com/a/6648563/188331。説明とより良い解決策[こちら](http://stackoverflow.com/a/32793289/188331) – Raptor

答えて

1

情報の場合:ドキュメントディレクトリ内click here

保存画像

func saveImageDocumentDirectory(){ 
    let fileManager = NSFileManager.defaultManager() 
    let paths = (NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString).stringByAppendingPathComponent("apple.jpg") 
    let image = UIImage(named: "apple.jpg") 
    print(paths) 
    let imageData = UIImageJPEGRepresentation(image!, 0.5) 
    fileManager.createFileAtPath(paths as String, contents: imageData, attributes: nil) 
} 

ドキュメントディレクトリのパスを取得します

func getDirectoryPath() -> String { 
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
let documentsDirectory = paths[0] 
return documentsDirectory 

}

あちこちに画像を取得しますm個のドキュメントディレクトリ

func getImage(){ 
    let fileManager = NSFileManager.defaultManager() 
    let imagePAth = (self.getDirectoryPath() as NSString).stringByAppendingPathComponent("apple.jpg") 
    if fileManager.fileExistsAtPath(imagePAth){ 
     self.imageView.image = UIImage(contentsOfFile: imagePAth) 
    }else{ 
     print("No Image") 
    } 
} 

あなたは `NSUserDefaults`に保存することができますディレクトリ

func createDirectory(){ 
    let fileManager = NSFileManager.defaultManager() 
    let paths = (NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as NSString).stringByAppendingPathComponent("customDirectory") 
    if !fileManager.fileExistsAtPath(paths){ 
     try! fileManager.createDirectoryAtPath(paths, withIntermediateDirectories: true, attributes: nil) 
    }else{ 
     print("Already dictionary created.") 
    } 
} 
+1

作成者への適切なアトリビュートがない外部URLからのコピーを作成するためにダウンホートされました。 https://iosdevcenters.blogspot.com/2016/04/save-and-get-image-from-document.html第三者のウェブサイトから帰属および著作権情報なしでコードを投稿しないでください。コメントセクションを使用して、OPをソースにリンクしてください。 –

+0

それはいいですか? Mr. Sneak – nick

+0

はい:私はあなたをupvotedしました。これを編集して「このソースから取得したもの」と入力してください: –

関連する問題