Skip to Content
iOS 15 Programming Fundamentals with Swift
book

iOS 15 Programming Fundamentals with Swift

by Matt Neuburg
October 2021
Intermediate to advanced content levelIntermediate to advanced
786 pages
21h 17m
English
O'Reilly Media, Inc.
Book available
Content preview from iOS 15 Programming Fundamentals with Swift

Chapter 8. Nib Files

When you’re programming iOS with Cocoa, your app’s visible interface consists entirely of views. A view (UIView) is an interface object, which draws itself into a rectangular area. A view can contain (and own) other views, its subviews, forming a view hierarchy. All views, in turn, are ultimately placed on the screen by a view controller. A view controller owns one view — its main view — along with that view’s subviews, and their subviews, and so forth. At every moment, some view controller’s main view occupies the entire screen. Whatever that view and its subviews look like when they draw themselves, that is what the user will see.

Where do all these 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 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

iOS 15 Programming for Beginners - Sixth Edition

iOS 15 Programming for Beginners - Sixth Edition

Ahmad Sahar, Craig Clayton
Programming iOS 14

Programming iOS 14

Matt Neuburg

Publisher Resources

ISBN: 9781098118495Supplemental ContentErrata Page