MIT School Muslimah : Contoh UIImagePickerController (select photo from galery and save photo)

MIT School Muslimah : Contoh UIImagePickerController (select photo from galery and save photo)

Assalamualaikum masyarakat ūüėä
Kali ini saya akan membahas tentang cara menggunakan UIImagePickerController di swift 3
Saya akan membuat contoh sederhana, monggo disimak

Siapkan gambar, kamu bisa download gambar melalui simulator atau memakai gambar yang sudah tersedia pada camera roll

Tahap pertama kita akan mengoding cara mengganti gambar

  1. Buka X-code buat project, siapkan scene
  2. Embed in Navigation Controller
    screen-shot-2016-11-15-at-7-11-32-am
  3. input elemen 2 button, 1 view, 1 imageview dan 1 label, letakkan imageview dan label didalam view. Beri warna background pada view agar lebih mudah membedakannya
    screen-shot-2016-11-15-at-7-01-48-am
  4. drag ke filebrain dan beri nama. Untuk button saya namai ganti dan simpan
    @IBOutlet weak var backgroundview: UIView!
    @IBOutlet weak var gambar: UIImageView!
    @IBOutlet weak var labelkata: UILabel!
  5. tambahkan UIImagePickerControllerDelegate, UINavigationControllerDelegate pada class
    class ViewController: UIViewController,UIImagePickerControllerDelegate, UINavigationControllerDelegate {
  6. Buat kontan UIImagePickerController
     let picker = UIImagePickerController()
  7. Edit pada viewdidload
    override func viewDidLoad() {
       super.viewDidLoad()
       picker.delegate = self
    }
  8. Edit label dengan katamu, contoh kata bijak dan lain lain. Label bisa diedit langsung maupun lewat kodingan.
  9. Tambahkan func dibawah viewdidload
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    
        let pilihgambar = info[UIImagePickerControllerOriginalImage] as! UIImage
        gambar.contentMode = .scaleAspectFit
        gambar.image = pilihgambar
        dismiss(animated:true, completion: nil)
    }
  10. Edid button ganti dengan memasukkan script berikut
    @IBAction func ganti(_ sender: UIButton) {
        picker.allowsEditing = false
        picker.sourceType = .photoLibrary
        picker.mediaTypes = UIImagePickerController. availableMediaTypes(for: .photoLibrary)!
        present(picker, animated: true, completion: nil)
    
    }

    Tahap kedua, mengoding cara menyimpan gambar di galeri. Nah bagaimana caranya agar uiview dapat disimpan sebagai gambar ?? Caranya adalah dengan mengonvert uiview ke dalam imageview, simak langkah selanjutnya. .

  11. Tambahkan extension script berikut di luar class untuk mengonvert uiview kedalam imageview
    extension UIImage {
        convenience init(view: UIView) {
            UIGraphicsBeginImageContext(view.frame.size)
            view.layer.render(in: UIGraphicsGetCurrentContext()!)
            let image = UIGraphicsGetImageFromCurrentImageContext()
            UIGraphicsEndImageContext()
            self.init(cgImage: (image?.cgImage)!)
        }
    
    }
  12.  Beralih ke button simpan, buat konstan
    @IBActionfunc simpan(_ sender: UIButton) {
          
       let image = UIImage(view: backgroundview)
    
     }
  13.  Tambahkan script UIImageWriteToSavedPhotosAlbum pilih yang mempunyai 4 param
    UIImageWriteToSavedPhotosAlbum(<#T##image: UIImage##UIImage#>, <#T##completionTarget: Any?##Any?#>, <#T##completionSelector: Selector?##Selector?#>, <#T##contextInfo: UnsafeMutableRawPointer?##UnsafeMutableRawPointer?#>)

    ganti isi paramnya
    Рparam 1 diisi dengan nama konstan yang dibuat
    – param2, 3, 4 diisi dengan¬†“nil”

    Berikut jadinya :

    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
  14.  Selesai, RUN pada simulator
  15. Klik ganti gambar kemudian pilih camera roll, jika sudah simpan gambar   screen-shot-2016-11-15-at-6-58-04-am   screen-shot-2016-11-14-at-10-25-04-pm    screen-shot-2016-11-15-at-7-00-23-am
  16. Kembali ke home (command+shift+h) buka photos, kemudian buka camera roll
    screen-shot-2016-11-14-at-10-44-24-pm
  17. Ta da gambar sudah tersimpan
    screen-shot-2016-11-15-at-7-01-15-am

Nah gampang kan ??? oke selamat mencoba teman teman
Semoga artikel ini dapat membatu, Terimakasih

Madani IT School Muslimah
Astri Novia Putri

 

 

 

Related posts:

Loading Facebook Comments ...