Reading time: 1 min

This recipe shows how to render a progress dialog / HUD in SwiftUI. The end result looks like this:

This component is available as a Swift Package in this repo.

In order to make this happen, we'll use the custom view dialog from this recipe. If you haven't yet, be sure to check it ou...

Continue Reading...

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 a URLSessionDownl...

Continue Reading...

Reading time: 6 min

This recipe shows how to add a Map View using SwiftUI. It also shows how to add pins/markers/annotations to the map, allowing for mixing of different map annotation types.

The end result will look like this:

If you just want something you can use right away, you can find the full code h...

Continue Reading...

Reading time: 2 min

This recipe shows how to combine ScrollViewReader and onChange(of:perform:) to jump to the selected item in a scrollable view. We'll use this method to update our top tabs and make them fully visible when selected. You can see the end result here:

Both the ScrollViewReader and onC...

Continue Reading...

Reading time: 1 min

This recipe shows how to implement an indefinite loading bar in SwiftUI. This kind of view is common in Android Material Design as it's sleek and takes up less space than a conventional, circular LoadingView. The end result looks like this:

The code for this is quite simple:

  1. Render a Re...

Continue Reading...