100 Days of SwiftUI Day 81

100 Days of SwiftUI – Day 81

We’ve arrived at day 81 of the 100 Days of SwiftUI. Yesterday, we learned about Swift’s Result type, as well as image interpolation and manually publishing changes to properties. Today, we’ll focus on adding context menus, custom swipe actions and more. Let’s dive in!

Creating context menus in SwiftUI

When our users interact with buttons in our app, it’s clear what will happen when they press a button if we label it clearly. However, what if a user presses and holds a button? Normally, nothing would happen. However, we can add a context menu with even more options that our users can choose from, which will show when a user long presses on a button. This is done by using SwiftUI’s contextMenu() modifier.

Adding custom row swipe actions to a List

Our lists have had an option to swipe to delete items in our rows. However, what if we want custom actions? For example, when using a mail app you might want to swipe to mark an email as read or archive it. By adding a swipeActions() modifier in SwiftUI, we can modify the actions our users can pick from when swiping on an item in our row.

Scheduling local notifications

iOS has a framework called UserNotifications that does pretty much exactly what you expect: lets us create notifications to the user that can be shown on the lock screen. We have two types of notifications to work with, and they differ depending on where they were created: local notifications are ones we schedule locally, and remote notifications (commonly called push notifications) are sent from a server somewhere.

Hacking with Swift, Paul Hudson (@twostraws)

Wrap up

And that’s it for day 81! We’ve learned a lot of great techniques to improve our apps, notifications being a big one in my opinion. We’ll continue with this project the coming days, so stay tuned. For now though, it’s time to recharge!


Hi! My name is Darryl and this is my personal blog where I write about my journey as I learn programming! You'll also find articles about other things that interest me including games, tech and anime.

Post navigation

Leave a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

100 Days of SwiftUI – Day 32

100 Days of SwiftUI – Day 86

100 Days of SwiftUI – Day 65

100 Days of SwiftUI – Day 52