UICollectionView data source and delegates programmatically

In this quick UIKit tutorial I'll show you how to create a simple UICollectionView without Interface Builder, but only using Swift.

UICollectionViewCell programmatically

If you'd like to add views to your cell, you should use the init(frame:) method, and set up your view hierarchy there. Instead of awakeFromNib you should style your views in the init method as well. You can reset everything inside the usual prepareForReuse method. As you can see by using anchors sometimes it's worth to ditch IB entirely. 🎉

UICollectionView programmatically

Creating collection view controllers using only Swift code requires only a few additional lines. You can implement loadView and create your UICollectionView object there. Store a weak reference of it inside the controller, and the rest is the same.

That was easy. Anchors are really powerful, Interface Builder is extremely helpful, but sometimes it's just faster to create your views from code. The choice is yours, but please don't be afraid of coding user interfaces! 😅