Chapter 7. Nib Files

A view (UIView) is an interface object, which draws itself into a rectangular area. Your app’s visible interface consists of views. When your app launches, some view controller is made the root view controller of your app’s window (“How an App Gets Going”). That view controller has a main view. That view and its subviews now occupy the window. Whatever that view and its subviews look like when they draw themselves, that is what the user will see.

Where do these interface views come from? Well, UIView is a class; an individual UIView is an instance of that class. And you know how to make an instance of a class — you call that class’s initializer:

let v = UIView()

So you could create all your interface views in code, one by one. For each view, you would instantiate it; then you would configure it. You’d say where it should go on the screen, what size it should have, what color it should be. If the view is a button or a label, you’d say what text it should display. And so on.

But that could be a lot of code. Wouldn’t it be nice if, instead, you could draw your desired interface, just as in a drawing application, and have the runtime build the interface for you, based on your drawing? Well, you can — using a nib.

A nib is a file, in a special format, consisting of instructions for creating and configuring instances — primarily UIView instances. You “write” those instructions graphically, by drawing. You design your app’s interface visually. Under the hood, Xcode ...

Get iOS 13 Programming Fundamentals with Swift now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.