Adventures in iOS Programming: Self-Sizing Cells

The other day, I was talking with BiTE CTO Brant about what we’d been up to lately in our iOS programming endeavors. I suggested that it might be interesting if your computer had a way to quantify how much time you spend on different sorts of programming task in the course of developing a project. […]

Diffable Data Sources and Data Storage — Part 2

This is the second part of a two-part article about iOS diffable data sources. If you haven’t read the first part, please go back and read it now! Inside and Outside In the first part of this article, I created a table view whose data source consisted simply of the names of the U.S. states, […]

Diffable Data Sources and Data Storage — Part 1

When I first started programming iOS (back in iOS 3.2), many of my apps revolved around table views (UITableView). At first, I was surprised by how Apple makes you supply the data to a table view. You don’t just store all the data in the table view. Instead, there’s a separate object, the data source […]

Collection View Outlines in iOS 14

In an earlier article, I introduced collection view lists, new in iOS 14, which allow a collection view, or a section of a collection view, to imitate a table view. Collection view lists are the basis for yet another new iOS 14 feature: outlines. As Lovely as a Tree An outline is a way of […]

Collection View Lists in iOS 14, Part 2

In an earlier article, I introduced collection view lists, a new feature of iOS 14. I showed how you can easily make a collection view that looks pretty much just like a table view. Now I’d like to talk about some additional table view appearances and behaviors and how collection view lists implement them. List […]

The Developer’s Guide to Cell Background Configuration in iOS 14

In an earlier article, I introduced iOS 14’s new content configuration architecture. As I showed in that article, this architecture is useful particularly in a cell, meaning a UITableViewCell or a UICollectionViewCell: A cell has a contentConfiguration property; whatever content view the cell’s content configuration creates, the cell makes that its own contentView, automatically. To […]