#28: There’s Some Changes Here

Hello All,

Last week only some of you heard what was going on. I only had time between my Lynda.com and SAP B1 conference to get out the podcast, and didn’t get out the newsletter. I want to apologize for that.

For those who didn’t hear about my Lynda.com experience, it was fantastic. It was an intense week of 12 hour days, much of it in rewriting and polishing my scripts. But it was good, and I’m already working on four more courses for them.

As I watch the numbers soar on the website for the Xcode 8 Size Classes post, I realize that I really got to get the Auto layout book out very soon. I’ve finished up to Chapter 3, and plan to spend much of this week working on it before I’m back to heavy scripting for the next courses.

As you can tell, my schedule is very busy. I need to rework a few things. One I have thought about for while, and I’m going to begin that process. I’m merging the podcast and the newsletter. This means several things, most importantly, the content of the newsletter will be a podcast.

I’m also moving the newsletter from its current Tinyletter home to MailChimp. The podcast newsletter is on Mail Chimp. Tinyletter does not give me the quick layout, analytics and automation that I get with Mail Chimp. At last count I had 1770 subscribers on Tinyletter. I don;y know how many of that are people who read the newsletter or people who ignore it. I need to know who’s really reading, which I can get at Mail Chimp.
That’s all a way of telling you I’m not going to migrate over the makeAppPie Mail List. Over the next month, please subscribe to the new list. I’ll send you details in an e-mail later this week, then remind you on the current e-mail list. If you move over, I’ll be sending out this newsletter in both places for October possibly with a special suprise. Beginning in November, I’ll only be posting in the new home, and recording this on the podcast.

For those of you on the podcast newsletter, since you are already in my MailChimp account, you don’t have to do anything.

For those of you who didn’t listen to last week’s podcast, there’s another big change. I’m planning for two episodes a week. As I said last week, the details are still being worked out, but it looks like I’m going for a Thursday reading of the current week’s tutorial, and Monday being this newsletter.

One of the big reasons for doing this is to get the newsletter back to what I originally intended: more content than just announcements, even though I’m strapped for time these days. Which that in mind, and the activity I’ve seen aboutXcode 8 and autolayout I’ll give you a tip if the week.

I’ve a heard a lot of people having conflicting constraints problems between size classes. I wrote about this in Practical Auto layout, and I’m planning to emphasize it more in the Xcode 8 Edition. There’s a strategy to auto layout: Don’t specify everything by size class. Here’s how I would do it: start with a preview on an iPhone. To make sure everything fits, start with the iPhone SE preview in portrait and lay out your views there. Check it in different sizes for compact width, including 1/3 split screen. This is your any width any height Class size. If you want to change an iPad layout, select an iPad in the preview toolbar and vary the constraints horizontally only. Apple does this in code and you should do it too. Follow this general rule: the horizontal size class determines the device. Regular width is an iPad, compact width is an iPhone. There is very little reason to set size classes to width regular, height regular. Set up your layout and constraints for the iPad in width regular height any.

Once you have done this, Check the iPhone in landscape. If it looks fine in landscape, don’t do anything to landscape. If it doesn’t, set your preview for the iPhone SE landscape. You have two choices at this point. If you want an iPhone plus to act like the rest of the phones, vary for traits vertically only. If you want a different behavior for the iPhone plus, either its own or and iPad layout,vary for traits vertically and horizontally. This is the compact height, and if you choose the width, compact width. All phones in landscape are compact height. The problem child iPhone plus is regular width in landscape, so you can exclude it by specifying a compact width in varying for traits horizontally. Your last step, if you choose to have a different layout for iPhone Plus in landscape, is to select the iPhone plus in landscape, and vary traits for both the height and the width.

That should cut down on conflicting constraints.

Finally this week, I’ve been a busy boy with the posts. There is an updated post this week on table views that is now in Swift 3.0 and since that one got a bit too deep into the subject a new lighter introduction on table views. As I promised in last weeks podcast, there are downloads of the projects, both starter and ending in the lessons. I’m going to start cutting out a lot of the beginning setup in my posts, and have starter files instead. If you are listening to this, you’ll find links in the show notes.

That’s it for this post. Next week, I’ll have a new lesson about putting tableview controllers in subviews.

Keep Coding, I’ll talk to you later.

Leave a Reply