Re-enabling the iOS Simulator Slow Animations Shortcut
Feb 6, 2021, 9:50 AM
As iOS developers, we always tend to use an actual device for testing during app development. A real device can provide an actual hardware environment similar to the production release, it also gives us a better idea about the UI / UX of...
The Undocumented Facts of Diffable Data Source Section Snapshot
Jan 25, 2021, 9:39 AM
The diffable data source section snapshot is an UIKit component introduced in iOS 14. It opens up new possibilities for developers to build various types of hierarchical lists using collection view declaratively. Even though it is such a...
Replicate the Expandable Date Picker Using UICollectionView List
Jan 10, 2021, 8:53 AM
The expandable date picker is a very common UI component in the Apple design system. You can find it in the iOS Reminder and Calendar App. Even though it does not come out of the box with UIKit, we can easily create one using a custom cell...
The Large Title UINavigationBar Glitches and How to Fix Them
Dec 14, 2020, 8:33 AM
Recently I have been requested by my client to add a large title navigation bar into their app’s main screen, on top of that the large title should automatically collapse when users start scrolling. I think to myself: how hard could...
Reducing Memory Footprint When Using UIImage
Nov 30, 2020, 8:42 PM
Recently my team and I are working on an image processing app for a client. The app works pretty well on most of the aspects. Unfortunately, when we start loading HD images on screen, the app will crash occasionally due to “out of...
Changing Text in iOS Lottie Animation
Nov 14, 2020, 9:32 PM
It’s been a while since I covered topics related to Lottie animation. In my previous article, “Modifying Lottie Animation with Value Providers“, I have discussed how developers can leverage different kinds of value...
UICollectionView List with Interactive Custom Header
Nov 7, 2020, 4:05 AM
In my previous article, we had discussed how to add a declarative header and footer to the UICollectionView List. This week, let’s take one step further and talk about how you can add a custom header to your collection view...
Declarative UICollectionView List Header and Footer
Oct 19, 2020, 9:50 AM
If you have been following my work for the past couple of months, you have probably read my articles about constructing a basic and expandable list declaratively using cell registration, content configuration, and data source snapshot. In...
The Modern Ways to Reload Your Table and Collection View Cells
Oct 4, 2020, 5:35 AM
In iOS 13, Apple introduced diffable data source and snapshot, defining the modern era of table view and collection view. Prior to this, reloading a table or collection view cell can be easily done by calling one of the following...
Building an Expandable List Using UICollectionView: Part 2
Sep 22, 2020, 10:57 AM
In last week’s article, we learned how to leverage the NSDiffableDataSourceSectionSnapshot to create an expandable list in a single-section collection view. In this article, we will pick up where we left off by modifying last...
Building an Expandable List Using UICollectionView: Part 1
Sep 10, 2020, 2:45 AM
Expandable list or some might call it expandable table view, is a very common UI design that is used in a large variety of apps. Despite the fact that it is so popular, UIKit does not have any native APIs that support this kind of layout....
Designing Custom UICollectionViewListCell in Interface Builder
Aug 22, 2020, 10:02 AM
Since the publishing of my article “UICollectionView List with Custom Cell and Custom Configuration“, a lot of my readers have been asking me whether it is possible to design the custom UICollectionViewListCell in the interface...
UICollectionView List with Custom Cell and Custom Configuration
Aug 9, 2020, 10:23 AM
In iOS14, Apple introduced the list layout in UICollectionView, allowing developers to easily create a list using UICollectionViewListCell — A collection view cell that comes along with iOS14 which provides list features and default...
Building a List with UICollectionView in Swift
Jul 25, 2020, 1:30 PM
Since the introduction of UICollectionView in iOS6, UICollectionView has been the default component to go to when it comes to building a grid layout. In WWDC 2020, Apple pushes the usability of UICollectionView to the next level by...
Grouping Array Elements With Dictionary in Swift
Jun 30, 2020, 9:38 AM
Imagine you have an array of Device objects and you want to group them by category as shown in the image below: How should you go about in solving this problem? Before Swift 5, the most straightforward way is to loop through each device in...
Integrate Google Sign-In with Firebase Authentication
Jun 15, 2020, 10:34 AM
When it comes to third party backend authentication services for iOS apps, the first that comes to mind for sure is Firebase Authentication. By using Firebase Authentication, iOS developers can skip the hassle of setting up a secure...
Google Sign-In Integration in iOS
Jun 7, 2020, 10:51 PM
Since the publish of my article about Facebook login integration, I have received tons of requests that wanted me to cover some other sign-in methods in iOS. After doing a quick search on Google, I found that most of the blog posts that...
Decode and Flatten JSON with Dynamic Keys Using Decodable
May 30, 2020, 10:50 AM
The Decodable protocol was introduced in Swift 4. Since then it has become the standard way for developers to decode JSON received from a remote server. There are tons of tutorials out there that teach you how to utilize the Decodable...
How to Define a Protocol With @Published Property Wrapper Type
May 17, 2020, 4:21 AM
The Combine framework was introduced in WWDC 2019 and it is mainly used alongside SwiftUI. However, this does not limit us to use the Combine framework on our UIKit apps. In fact, the @Published property wrapper introduced in Combine is...
Settings Bundles Management in Xcode
May 10, 2020, 3:18 AM
What is a Settings bundle? A Settings bundle is a special kind of bundle provided by Apple to allow developers to add their app preferences into the iOS Settings app. With the current state of iOS app development, almost always we will...
Modifying Lottie Animation with Value Providers
May 2, 2020, 9:02 AM
Imagine you downloaded a piece of Lottie animation, you really like the animation and you want to use it in your iOS app. Unfortunately, the colors of the animation do not match your app’s theme. What should you do? What if you have...
Controlling Lottie Animation with Markers
Apr 18, 2020, 11:42 AM
In this article, let’s talk about what are markers in Lottie animation, how it works and why it is so useful. In the last section of this article, you will also learn how to create a beautifully animated Twitter like button using...