
Apple is promoting use of IB in WWDC sessions, suggesting that IB is more future-proof than PL.Fortunately for the PL-learner, Brian Voong does teach PL in his YouTube videos.
IB is more approachable for iOS-development learners, perhaps explaining why many iOS-development-learning resources teach the IB approach. Proponents of IB cite, inter alia, the following advantages: Ardent PL developers cannot entirely avoid IB because editing launch screens requires use of IB. Production-quality apps are likely to have some UI properties and/or constraints that must be set in code, for example if the app has themes or animations. In practice, developers often use IB and PL in tandem. Using PL, developers instantiate UI elements, set their properties, and set Auto Layout constraints using Objective-C or Swift. The Objective-C runtime instantiates views and view controllers represented by XIBs and storyboards. A XIB is an XML-backed representation of the UI elements of one view. A storyboard is an XML-backed representation of the UI elements of, and connections among, one or more view controllers and their views. Using the IB approach, developers drag UI elements from the Object library onto a storyboard or XIB and then set most or all Auto Layout constraints and UI-element properties using the IB UI. As of Xcode 4, IB is integrated into Xcode itself. IB is descended from a visual UI editor originally created for the NeXTSTEP operating system.
This tutorial teaches programmatic layout (PL) by demonstrating conversion of an app’s user interface (UI) from Interface Builder (IB) to PL.