Press "Enter" to skip to content

Kategorie: iOS

Mehrere Bilder via PhotosPicker auswählen

Ergänzend zum letzten Artikel, in dem es um die grundlegende Konfiguration und Nutzung der neuen PhotosPicker-View ging, stelle ich euch an dieser Stelle vor, wie ihr mehrere Bilder mittels PhotosPicker auswählen und verarbeiten könnt. Die wichtigste und ausschlaggebende Änderung betrifft den selection-Parameter bei Initialisierung eines PhotosPickers. Um mehrere Bilder auswählen zu können, muss der Parameter einem Binding entsprechen, das auf ein Array von PhotosPickerItem-Instanzen verweist (statt auf ein Optional vom Typ PhotosPickerItem). Die vom Nutzer ausgewählten Bilder landen dann in…

PhotosPicker in SwiftUI 4

Neuerungen der WWDC 2022 – Teil 5 Mit der neuen PhotosPicker-View steht uns jetzt ein natives SwiftUI-Element zur Verfügung, um auf die Foto-Library zugreifen und Bilder auswählen zu können. In diesem Artikel gehe ich auf die grundlegende Funktionsweise von PhotosPicker ein und zeige euch, wie ihr diese neue View nutzen könnt, um ein einzelnes Foto aus der Library auszuwählen und anzuzeigen. Grundlagen PhotosPicker nutzt eine Instanz vom Typ PhotosPickerItem, um die vom Nutzer gewählten Fotos abzubilden. Demnach braucht es ein…

iOS 16: „Im Web suchen“ unter SwiftUI deaktivieren

„Im Web suchen“ ist ein neues Feature in iOS 16. Es ermöglicht, in Textfeldern und Text-Views selektierten Text direkt an den Browser weiterzugeben und darüber zu suchen. Im Zuge eines Projekts kam die Frage auf, wie sich dieses Feature explizit deaktiveren lässt. Es sollte also verhindert werden, dass ein selektierter Text über die genannte Funktion einfach an den Browser weitergegeben werden kann. Unter UIKit existiert mit UIMenuBuilder ein Protokoll, über das sich solche Informationen recht flexibel steuern lassen. Dem zugrunde…

Grid in SwiftUI 4

Neuerungen der WWDC 2022 – Teil 4 Mit Grid steht ein neues View-Element in SwiftUI zur Verfügung, das es erlaubt, beliebige Views in fixen Reihen und Spalten anzuordnen. Grid ist eine Container-View. Die ihr zugefügten Views werden als Reihen dargestellt. Soll eine Reihe über mehrere Spalten verfügen, nutzt man eine GridRow-Instanz. Auch hierbei handelt es sich um einen Container, der für jede Spalte innerhalb einer Reihe eine eigene View entgegennimmt. Ein simples Beispiel zum Einsatz eines Grids zeigt das nachfolgende…

ViewThatFits in SwiftUI 4

Neuerungen der WWDC 2022 – Teil 3 ViewThatFits ist eine neue Container-View in SwiftUI 4. Sie stellt die erste der ihr zugewiesenen Views dar, die aufgrund ihrer Größe in den zur Verfügung stehenden View-Bereich passt. Die Größe des View-Bereichs hängt hierbei von dynamischen Faktoren wie Bildschirmgröße und Platzierung innerhalb der bestehenden View-Hierarchie ab. Der nachfolgende Screenshot skizziert das Problem, das sich mithilfe von ViewThatFits elegant lösen lässt. Dort ist ein HStack mit verschiedenen Tags zu sehen. Im Querformat auf einem…

Multiline-TextFields in SwiftUI 4

Neuerungen der WWDC 2022 – Teil 2 Textfelder auf Basis der TextField-View sind in SwiftUI bisher auf eine einzige Zeile beschränkt. Soll der Platz zur Eingabe von Text umfangreicher ausfallen, musste alternativ ein TextEditor herhalten. Das ändert sich nun mit SwiftUI 4. TextField verfügt dann über einen optionalen Parameter namens axis. Setzt man für den die Option vertical, vergrößert sich das zugrundeliegende Textfeld automatisch, sobald der Platz für den Inhalt nicht mehr für eine Zeile ausreicht. Generell vergrößert sich das…

Half Sheets in SwiftUI 4

Neuerungen der WWDC 2022 – Teil 1 Auf der WWDC 2022 stellte Apple wieder eine Vielzahl an Neuerungen für Swift, SwiftUI und Xcode vor. In dieser neuen Artikelreihe werde ich einige dieser neuen Features beleuchten und im Detail vorstellen. Beginnen möchte ich mit einem meiner Highlights: SwiftUI 4 ermöglicht es, die Größe von Sheets nun individuell anzupassen. Alles, was es dazu braucht, ist ein neuer Modifier namens presentationDetents(_:). presentationDetents(_:) erwartet ein Set von PresentationDetent-Instanzen. Bei PresentationDetent handelt es sich um…

Bilder via Core Data speichern – Teil 2

Speichern von Bildern im Dateisystem Ergänzend zum ersten Teil dieser Reihe zeige ich euch in diesem Artikel, wie ihr Bilder im Dateisystem einer iOS-App speichern und sie über Core Data-Entities referenzieren könnt. Hierbei gehe ich ausschließlich auf die notwendigen Änderungen ein und stelle am Ende beide Verfahren und ihre Vor- und Nachteile gegenüber. Schritt 1: Erstellen eines File-System-Helpers Wie geschrieben sollen die Bilder nun im Dateisystem abgelegt und daraus geladen werden. Zu diesem Zweck binde ich in das Projekt zunächst…

Bilder via Core Data speichern – Teil 1

Umwandlung von Bildern in Data-Instanzen Eine häufige Anfrage aus der Community bezieht sich auf das Speichern und Auslesen von Bildern mittels Core Data. Aus diesem Grund möchte ich in dieser kleinen Artikelreihe die in meinen Augen zwei typischen Vorgehensweisen erläutern, über die sich Bilder mit Hilfe von Core Data abspeichern und wieder abrufen lassen. Eines vorneweg: Bei diesem Thema geht es nicht ausschließlich um Core Data. Ja, Core Data kommt zum Einsatz, um Bilddaten oder Verweise auf Bilddateien zu speichern.…

Textfeld auf Basis von Zahlenwerten in SwiftUI (+ Nachtrag)

Aus der Community kam des Öfteren bereits die Frage, wie man in SwiftUI ein Textfeld umsetzen kann, das ausschließlich den Umgang mit Zahlenwerten erlaubt. Ein Beispiel für eine mögliche Lösung für dieses Szenario stelle ich euch in diesem Artikel vor. Herzstück ist ein eigens definiertes Binding auf Basis eines Strings. Ein solches benötigen wir zwingend, da jede TextField-Instanz ein String-Binding voraussetzt. Das von mir bereitgestellte String-Binding besitzt jedoch einen Kniff. Es liefert einen Zahlenwert auf Basis eines Intergers über seinen…

Impressum

Thomas Sillmann
Kettererstraße 6
D-63739 Aschaffenburg
USt-ID: DE306231294
E-Mail: contact@thomassillmann.de
Mobil: +49 (0) 151 65125650
Web: https://www.thomassillmann.de/

Inhaltlich Verantwortlicher gemäß §55 Abs. 2 RStV: Thomas Sillmann (Anschrift siehe oben)

Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehme ich keine Haftung für die Inhalte externer Links. Für die Inhalte der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

Kontakt und soziale Netzwerke

© 2019-2023 by Thomas Sillmann