Customise Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorised as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.

No cookies to display.

SwiftUI Blog

Mastering SwiftUI: Your Guide to Building Beautiful, Intuitive Apps.

  • Segmented Control in SwiftUI

    Another option we can use for horizontal navigation is the segmented control. In this post, we’ll learn: Create the segment control Let’s start by creating a segment control that allows choosing from the days of the week: So, the Segment Control is created by using a Picker and setting its style to segmented. If you…

  • Sheet

    An important element in iOS is the Sheet. In this post, we will cover: In this example i use this image Unsplash Creating a Non-Full-Screen Sheet Begin by creating the project and adding the image to the assets. I’ve renamed the image to background. First, we add a ‘plus’ button to the toolbar. When this…

  • Navigation Title and Toolbar

    We can configure the navigation bar by adding the title and defining how to display it. To achieve this: It is also possible to set the title at the top and center it by adding the display mode like this: The default display mode is automatic, which means the title is displayed large and aligned…

  • NavigationStack & TabView

    Often, or perhaps always, we have a hierarchical navigation (NavigationStack) combined with horizontal navigation (TabView). We can merge them in two main ways. Let’s see how to merge them using the first approach (which I don’t recommend because we lose the TabView). First way We have declared a NavigationStack that contains the TabView. Now, within…

  • TabView

    One of the changes I like in SwiftUI, released with Xcode 16, is the new way to write a TabView. Now we can write: To have: We can define a View to use in the first tab, for example. Feel free to customize the others as you like. Now in the Tab: We can also…

  • Navigation

    The iOS application uses two main components to allow navigation: NavigationStack and TabView. In this post, we’ll focus on the first one. For simplicity, we’ll start by implementing navigation, moving from one view to an empty view. The main component is the NavigationStack. You should define only one NavigationStack in the root view of your…

This is how it all started…

I started coding in the ’80s when I was a teenager with a Commodore Amiga 500 (which I bought 50% with my brother after a summer of work in the fields). My first programming language was AmigaBasic, but I soon moved on to C. At university, I discovered Linux, and it was love at first sight (1996). In the meantime, I became interested in the OpenSource world and the Qt framework (which has played an important role in my professional life). Along the way, I also worked with other technologies, but my background is in embedded engineering, so I transitioned to system programming and mobile development.

Mobile development is a key focus of this blog. I contributed to the Maemo, MeeGo, Mer, and SailfishOS projects. After that, I moved on to Android and later iOS. Since 2017, I’ve been a mentor at the local university for the Apple Foundation Program, a four-week full-immersion course where students learn how to create simple(?) mobile applications for iOS (as well as for Apple Watch and Apple TV). After writing nearly a hundred posts about SwiftUI, I decided to collect them all in one place, here, where I’ll create a path to develop iOS applications, following more or less what I teach my students, along with other insights.

Nicola De Filippo

Software Engineer & Mentor