NEW: Start my new Ultimate Portfolio App course with a free Hacking with Swift+ trial! >>

DAY 70

Project 14, part 3

It’s time to start putting all our techniques into practice, which means building a map view where we can add and interact with annotations. As we progress, I’d like you to reflect a little on how our app benefits from all the standard design affordances that come with iOS, and what means for our users.

For example, we’re going to be adding pins to our map, and buttons inside those pins to trigger actions. We don’t need to explain to users that those pins can be tapped, or that the “i” button contains extra information – those are standard things on iOS, and our apps get to benefit from the fact that users have been trained to understand those things.

Years ago, Steve Jobs said “design is not just what it looks like and feels like; design is how it works.” Users know how our map works because it works just like every other map on iOS. This means they can get on board with our app fast, and means we can focus on directing them towards the part of our app that’s unique and interesting.

Today you have two topics to work through, in which we take a really deep dive into integrating MapKit with SwiftUI.

Need help? Tweet me @twostraws!


Hacking with Swift is sponsored by Fernando Olivares

SPONSORED Would you describe yourself as knowledgeable, but struggling when you have to come up with your own code? Fernando Olivares has a new book containing iOS rules you can immediately apply to your coding habits to see dramatic improvements, while also teaching applied programming fundamentals seen in refactored code from published apps.

Try the book!

Sponsor Hacking with Swift and reach the world's largest Swift community!

100 Days of SwiftUI

The 100 Days of SwiftUI is a free collection of videos, tutorials, tests, and more to help you learn SwiftUI faster. Click here to learn more, or watch the video below.

Back to 100 Days of SwiftUI

Unknown user

You are not logged in

Log in or create account

Link copied to your pasteboard.