The interface Builder provided by XCODE6 provides many conveniences for iOS interface creation. However, there are two sides to everything, and here are some ideas for ib.
one storyboard only corresponds to one uiviewcontrollerThis benefit is obvious, the responsibility is clear, storyboard is responsible for the interface drawing, and Uiviewcontroller is responsible for the logical collation. However, this also shows that a storyboard cannot correspond to multiple uiviewcontroller. This means that if the two interface is basically similar, if you still use storyboard, then you have to draw two sets of basic similar interface, the corresponding control if there is similar logic to all re-operation again. The simple solution is to draw the same part as UIView in the Xib file and add UIView to it manually in Uiviewcontroller. Although this is contrary to the original intention of storyboard, but can only do so. In addition, storyboard can only correspond to a uiviewcontroller also means that this controller can not be inherited while carrying storyboard, even if you want to use the logic of the parent class to carry out the new extension optimization is powerless.
usage scenarios for layout constraintsLayout constraints save a lot of work for the interface design. Instead of paying particular attention to the specific size of a control, just care about how it exists in the interface, and how it is positioned between other controls. The most primitive way to use layout constraints is to manually tap the code, but Objective-c is extremely short of convenience in this regard. A few simple constraint logic requires dozens of lines of code to be knocked out. Fortunately, there are other third-party libraries that encapsulate these logic and provide it to developers in a minimalist manner. IB also provides a set of constraints, and in the setting, viewing, resetting the interface is a great convenience for developers. While IB frees developers from the intricacies of code, it doesn't mean that they can do so in every way. On the maintenance side, the constraints on IB are obviously less convenient. Imagine how you would feel if you took over a module where a storyboard interface was bound all over the place. If you want to add or remove controls on this basis, it's easy to mess up the interface. The solution is obviously not to use too complex constraints, the same reason as writing code. If the interface is complex, the interface also needs to be reconstructed, and the interface of the whole storyboard is segmented by function and organized into different xib files. This code may be less of a nightmare for others.
A little thought about interface Builder