Book Image

An iOS Developer's Guide to SwiftUI

By : Michele Fadda
Book Image

An iOS Developer's Guide to SwiftUI

By: Michele Fadda

Overview of this book

– SwiftUI transforms Apple Platform app development with intuitive Swift code for seamless UI design. – Explore SwiftUI's declarative programming: define what the app should look like and do, while the OS handles the heavy lifting. – Hands-on approach covers SwiftUI fundamentals and often-omitted parts in introductory guides. – Progress from creating views and modifiers to intricate, responsive UIs and advanced techniques for complex apps. – Focus on new features in asynchronous programming and architecture patterns for efficient, modern app design. – Learn UIKit and SwiftUI integration, plus how to run tests for SwiftUI applications. – Gain confidence to harness SwiftUI's full potential for building professional-grade apps across Apple devices.
Table of Contents (25 chapters)
Free Chapter
1
Part 1: Simple Views
5
Part 2: Scrollable Views
8
Part 3: SwiftUI Navigation
11
Part 4: Graphics and Animation
14
Part 5: App Architecture
17
Part 6: Beyond Basics

Hiding or showing the keyboard in a form using @FocusState

You may notice that if you add TextField, you will be able to enter some text. Once you tap inside the TextField, the system keyboard will appear. The system keyboard won’t “go away” by itself on an iPhone. So, you may be wondering how to remove it programmatically. For the keyboard to disappear when you tap outside the TextField, add a @FocusState private var textFieldIsFocused: Bool property to your ContentView. The TextField is said to be “focused” when it is accepting input from the user and “unfocused” when it is not. We can attach the .focused modifier to the TextField so that the TextField receives the focus; it displays the keyboard and hides it again when it loses focus. You can also force a TextField to go out of focus, thus making the keyboard disappear, by setting the @FocusState variable to false.

In order to attach our @FocusState textFieldIsFocused variable...