When developing for the iPhone (or any phone), screen space is very limited and the design is very important. The iPhone series has so many phone sizes. Orientation is another consideration, if the user turns the phone sideways what will the app look like. Developing for the different sizes and orientation is a minefield in IOS.
Included in this complexity is auto layouts. When you place a text box (we call them controls) on the screen and run the app, with no layout constraints, the text box could disappear, it has to be constrained to the top of the screen or the bottom of the control above it, to the left edge or the right edge of the nearest control to its left. Confused? It gets much worse but once I got the hang of it, which took a long time, it became much easier.
I had used layout constraints in Delphi occasionally when using a screen that could be resized but when developing for a stock standard PC and Windows, the text box will stay exactly where it is placed forever.
My first attempts at layout were a total mess. If I wanted to add another text box to the screen, it got messier. I also decided that my app didn’t need to work in landscape mode, at least not initially, so its in portrait and that’s all it can do. That decision made it easier to develop. However, this meant a nice version for the landscape iPad would have to wait.