SwiftUI Paging with TabView
Reading time: 1 min
This recipe shows how to implement a Pager View using a TabView in SwiftUI. This is an awesome addition in iOS 14.0, allowing you to trivially create a swipeable pager.
Side menu in SwiftUI (updated 05/21)
Reading time: 4 min
This tutorial shows how to create a side menu (or navigation drawer, as it's known on Android), in SwiftUI. It's also a good showcase of using GeometryReader
to offset views and DragGesture
to detect user gestures.
Send mail in SwiftUI
Reading time: 2 min
This recipe shows how to send mail from SwiftUI. You'll build a MailView
by wrapping MessageUI's MFMailComposeViewController
in a UIViewControllerRepresentable
. You'll be able to:
- Determine if you can send mail or not.
- Pass subject, message and recipients to the view via a binding.
- Attach files to the email.
- Receive success or failure result after sending the email.
SwiftUI Splash Screen
Reading time: 1 min
This recipe shows how to add a Splash Screen to your SwiftUI app! You can specify a custom view that will show when your app starts and then dismiss itself automatically after a certain period of time.
Networking with Background Tasks in iOS 13
Reading time: 4 min
This recipe shows how to perform a GET request in the background using BGTaskScheduler
and BGAppRefreshTaskRequest
. For whatever reason, this has way too many gotchas:
- You can't use Alamofire, you have to use
URLSession
. - You can use
URLSessionDataTask
, it has to be aURLSessionDownloadTask
. Why? Beats me. - You can't use callbacks, you must use delegates to track request progress and completion.