39
votes

It seems all the current iOS devices maps to the new iOS 8 size classes nicely except iPad landscape? I seem not able to figure out how to use the size class feature to draw a different scene for iPad landscape (different from iPad portrait)?

Is that intended by design in Apple's mind or am I miss something about the iOS size classes?

2
17633678 bug id for this. I'm encountering the same thing, but I think it is by design.Jimmy Hough Jr
Have you figured this out? I'm sure it's by design, but I can neither think of why, or how to actually achieve what OP needs (distinct layout for iPad landscape)rafalio
haven't seen any progress on this either. to help further clarify: iPhone portrait = "compact width, regular height" iPhone landscape = "regular width, compact height" iPad in portrait or landscape = " regular width, regular height" so there's no way to differentiate between them in storyboards using size classes.thisispete
on second pass it seems that I was misinformed on the iPhone landscape, this post learnswift.io/blog/2014/6/12/… shows iPhone landscape actually gets 'compact width, compact height' to further confuse things..thisispete
I cannot understand why the iPhone landscape has compact width as well. It makes no sense, all the logic leads to it being regular width ? Since it has regular height on portrait mode.Petar

2 Answers

4
votes

It appears to be Apple's intent to treat both iPad orientations as the same -- but as a number of us are finding, there are very legitimate design reasons to want to vary the UI layout for iPad Portrait vs. iPad Landscape.

However, I believe I have an answer for adapting size classes to do just what you need.

Please see: https://stackoverflow.com/a/28268200/4517929

2
votes

It seems to be by design (which I think we can all agree is lame). You'll probably have to resort to doing things in code for iPad landscape layout by checking something like

UIApplication.sharedApplication().statusBarOrientation.isLandscape