Day 5 continued, once again, where the previous day left off – which is to say, more user interface topics.
We dove right in to Auto Layout, using contraints to dynamically control the layout of our user interface elements on the screen. Along the way, Christian showed us some common mistakes and the corresponding errors displayed in Interface Builder or the app console and how to fix them. It is amazing to me how much more polished an app looks when it behaves and looks correct on different devices and orientations.
We then explored how to do Auto Layout programmatically. I didn’t even think this was possible. I’m not sure I’ll want to attempt it in very many situations but I’m sure there will be times when it is potentially necessary. Time will tell.
Once we moved on from the basics of Auto Layout, we moved into Size Classes which allow you to dynamically change the layout of your app dramatically based upon the size of the platform it is running. It is a mobile developer’s version of responsive design. It makes a huge difference in the usability of an app to efficiently use the space available to it on each platform and orientation.
The complexity of both Auto Layout and Size Classes will require lots of post-class experimentation to truly feel comfortable with, but for now, I understand the basics.
In the afternoon, we went for our usual walk but it turned into a mini-adventure. We walked down the river to the old Banning Mill, which happened to be on the other side of the river. Since we were there, a few of us crossed the river via some exposed rocks which quickly turned into the entire class. Christian said he had only had one other student in passed classes cross and yet there were seven of us that did on this trip. There was some rough terrain coming back but it was fun and good exercise. I think a few people got more than they had bargained for.
Finally for Day 5, we moved on to Core Data. For the first time in the class, I was relatively uninterested in a topic. I recognize the power of the technology but for my immediate purposes, I’d rather explore other topics. I decided to take my first break on this chapter. Every chapter prior to this one, not only did I do the core example, I had done all the suggested challenges. Some chapters, I had even added some of my own user interface touches to the app but this chapter was a good time to take a short break.
Tomorrow should be another good day – storyboards, web services, gestures, and more.