Telefone

iOS: So greifen Sie in Swift auf Fotokamera und Bibliothek zu

Autor: Peter Berry
Erstelldatum: 15 Juli 2021
Aktualisierungsdatum: 17 November 2024
Anonim
Swift 3 - So greifst du auf die Fotosammlung und die Kamera zu
Video: Swift 3 - So greifst du auf die Fotosammlung und die Kamera zu

Inhalt

Entwickler von Webdesignern, iOS- und Android-Apps für Mobilgeräte. Mit Liebe aus Italien.

Haftungsausschluss

Bitte denken Sie daran, den Code dieses Tutorials auf einem realen Gerät zu testen, da der iOS-Simulator die Kamera nicht handhabt.

Ich habe ein Demo-Projekt erstellt, das so aussieht:

Mein Beispielprojekt hat 3 Schaltflächen im Hauptcontroller:

  • Kamera öffnen
  • Öffnen Sie die Fotobibliothek
  • speichern

Beginnen wir mit dem Hinzufügen der beiden Delegaten, die für dieses Lernprogramm erforderlich sind. Sie müssen sie in Ihre ViewController-Klasse einfügen:


Klasse ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {

Ich habe die Delegatoren für Bildauswahl und Navigationssteuerung zu unserem Code hinzugefügt. Sie sind im UIKit-Framework enthalten, sodass Sie keine zusätzliche Datei in Ihre schnelle Seite importieren müssen.

In meinem Beispielprojekt mussten wir auch eine Bildansicht erstellen, um sie später verwenden zu können:

@IBOutlet schwach var imagePicked: UIImageView!

Schauen Sie sich den folgenden Code an, es ist die Magie, die die Kamera auf Ihrem Gerät öffnet:

@IBAction func openCameraButton (Absender: AnyObject) {if UIImagePickerController.isSourceTypeAvailable (.camera) {var imagePicker = UIImagePickerController () imagePicker.delegate = self imagePicker.sourceType = .camera; imagePicker.allowsEditing = false self.presentViewController (imagePicker, animiert: true, Vervollständigung: nil)}}

Was macht der obige Code? Wir werden es Zeile für Zeile erklären:

  1. Eine IBAction-Instanz für die Schaltfläche, die mit Strg + Ziehen von der Schaltfläche "Kamera öffnen" auf unsere Seite "ViewController.swift" erstellt wurde
  2. Überprüfen Sie, ob die Kamera auf dem Gerät verfügbar ist (als Quelltyp).
  3. Hier deklarieren wir eine Variable des Image Picker Controllers
  4. Legen Sie den Delegaten fest
  5. Stellen Sie den Quelltyp ein
  6. Hier weisen wir unseren Bildwähler an, kein aufgenommenes Bild zu bearbeiten. Dies bedeutet, dass der schwarze Bildschirm mit einem quadratischen Rahmen nicht direkt nach dem Aufnehmen eines Fotos angezeigt wird.
  7. Schließlich stellen wir den Kameracontroller vor, der am unteren Bildschirmrand angezeigt wird. Dies ist die Standard-iOS-Animation zum Öffnen neuer Bildschirme.

Führen Sie das Projekt aus, tippen Sie auf die Schaltfläche und Sie erhalten Folgendes:


Das Gerät fordert Sie auf, auf die Kamera zuzugreifen


Lassen Sie uns nun sehen, wie die Schaltfläche "Fotobibliothek öffnen" funktioniert:

@IBAction func openPhotoLibraryButton (Absender: AnyObject) {if UIImagePickerController.isSourceTypeAvailable (.photoLibrary) {var imagePicker = UIImagePickerController () imagePicker.delegate = self imagePicker.sourceType = .photo; imagePicker.allowsEditing = true self.presentViewController (imagePicker, animiert: true, Vervollständigung: null)}}

Code-Erklärung:

  1. Eine Aktion für die Schaltfläche, die auf die gleiche Weise wie für das vorherige Objekt erstellt wurde
  2. Überprüfen Sie, ob das Gerät auf eine Fotobibliothek zugreifen kann
  3. Deklarieren Sie die Variable eines anderen Bildwählers für die spätere Verwendung
  4. Legen Sie den Delegaten fest
  5. Stellen Sie den Quellentyp ein (die Kamerarolle)
  6. Dieses Mal legen wir die Eigenschaft fest, mit der wir unser ausgewähltes Bild als wahr bearbeiten können. Dies bedeutet, dass wir ein schwarzes Fenster mit einem quadratischen Rahmen erhalten, in dem wir unser Foto zoomen, verschieben und zuschneiden können.
  7. Schließlich präsentieren wir dem Fotobibliotheks-Controller eine Standardanimation am unteren Bildschirmrand

Führen Sie das Projekt aus und tippen Sie auf die Schaltfläche. Sie erhalten die folgenden Ergebnisse:

Wir müssen jetzt einen Delegaten zu unserer Klasse hinzufügen, um unsere App anzuweisen, das ausgewählte Bild abzurufen und es in die Bildansicht zu platzieren, die wir auf dem Hauptbildschirm platziert haben. Bitte beachten Sie, dass der folgende Delegat für beide Funktionen dieser Vorlage verwendet wird:

func imagePickerController (_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String: AnyObject]) {let image = info [UIImagePickerControllerOriginalImage] as! UIImage imagePicked.image = Bild entlassen (animiert: true, Vervollständigung: nil)}

  1. Unsere Instanz des Delegierten. Eine großartige Sache bei XCode ist, dass Sie mit der Eingabe von "Bild" beginnen können und eine Liste der verfügbaren Delegaten unter dem Cursor angezeigt wird. Dies hilft Ihnen bei der Auswahl der gewünschten.
  2. Hier setzen wir sein Objekt als das ausgewählte Bild aus der Bibliothek oder Kamera.
  3. Hier schließen wir den Controller und kehren zu unserem Hauptbildschirm zurück.

Wir vermissen nur die Methode Speichern, um dieses Tutorial abzuschließen:

@IBAction func saveButt (Absender: AnyObject) {var imageData = UIImageJPEGRepresentation (imagePicked.image, 0.6) var compressJPGImage = UIImage (Daten: imageData) UIImageWriteToSavedPhotosAlbum (compressJPGImage, nil " , Nachricht: "Ihr Bild wurde in der Fotobibliothek gespeichert!", Delegat: nil, cancelButtonTitle: "Ok") alert.show ()}

Zeile für Zeile:

  1. IBAction der Taste
  2. Hier deklarieren wir eine Variable von NSData für unser Bild und komprimieren sie auf die Qualität 0,6 (Sie können diesen Wert von 0,0 bis 1,0 einstellen).
  3. Erstellen Sie ein neues UIImage und übergeben Sie ihm die zuvor erstellten Daten
  4. Einfache Methode, um unser Bild in der Kamerarolle zu speichern
  5. Hier erstellen wir eine Warnung und geben ihr einen Titel
  6. eine Nachricht
  7. In diesem Fall kein Delegierter
  8. und den Titel einer Abbrechen-Schaltfläche
  9. Sagen Sie unserem UIAlertView, dass er angezeigt werden soll

Wenn Sie fertig sind, können Sie das Projekt ausführen und mit Schaltflächen spielen. Nachdem Sie den Bildauswahl-Controller geschlossen haben, wird das ausgewählte Bild angezeigt und in der Fotobibliothek gespeichert:

Dieser Artikel ist genau und nach bestem Wissen des Autors. Der Inhalt dient nur zu Informations- oder Unterhaltungszwecken und ersetzt nicht die persönliche Beratung oder professionelle Beratung in geschäftlichen, finanziellen, rechtlichen oder technischen Angelegenheiten.

Heute Geöffnet

Unsere Wahl

Tmart Review: Kaufen Sie erst bei Tmart, wenn Sie dies gelesen haben!
Internet

Tmart Review: Kaufen Sie erst bei Tmart, wenn Sie dies gelesen haben!

Ich habe zahlreiche Bewertungen von Tmart gele en, bevor ich mich ent chied, bei ihnen zu kaufen, und hier teile ich meine eigene Bewertung, um anderen ver ierten Käufern zu helfen.Tmart i t ein ...
So konvertieren Sie Videodateien von MKV nach MP4
Computers

So konvertieren Sie Videodateien von MKV nach MP4

u an May Gudge hat Erfahrung mit Telex, Adam , win95, win98, XP, Window 7/8 / 8.1 / 10, mit Intere e an 3D-Grafiken und der Er tellung von Web eiten.Da große Problem bei MKV-Dateien i t, da ie a...