Press "Enter" to skip to content

Let's Code – Der Entwickler-Blog von Thomas Sillmann Posts

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…

Neuerungen in Swift 5.6 – Teil 2

Type placeholders Mithilfe der sogenannten Type placeholder teilt man Swift mit, dass der Typ einer Variablen oder Konstanten mittels Type Inference automatisch ermittelt werden soll. Um einen Type placeholder zu setzen, nutzt man für die Typ-Angabe der gewünschten Variablen/Konstanten einen Unterstrich. Das nachfolgende Listing zeigt ein Beispiel zum Einsatz der Type placeholder. Die Konstante firstValue nutzt Type Inference auf die bekannte Art und Weise, weshalb Swift ihr den Typ Int zuweist. Gleiches geschieht auch bei secondValue, nur mit dem Unterschied,…

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…

WWDC 2022: Meine persönlichen Highlights (bisher)

Es ist wieder soweit: Die WWDC 2022 ist in vollem Gange und mit ihr können wir Entwickler uns auf eine Vielzahl neuer APIs, Beta-Versionen und Updates stürzen. Noch ist es schwer, sich einen kompletten Überblick über all die großen und kleinen Neuerungen zu verschaffen, die uns ab Herbst mit den neuen Versionen von iOS und Co. erwarten. Und auch ich werde einiges an Zeit brauchen, um mich mit den neuesten Updates und Änderungen vertraut zu machen. Was ich aber bisher…

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