Arggh… Xcode 4.3 Auto Layout is ON By Default?! How to Turn Off Auto Layout…

Oh yay.

Xcode 4 has made leaps and bounds in stability and usability. Unfortunately, in Xcode 4.3 the ill-documented and obtuse Auto Layout feature has been turned on by default in the project templates.

I get it. Drive adoption. But without clearer documentation on it, you will not drive adoption.

Coders tend to like the sense of being-in-control. Auto Layout means giving up control. To make things more annoying, autolayout is still quite buggy within Interface Builder

Example? Try using an NSSplitView containing a pair of items (such as NSTextView objects in their default NSScrollView containers). It builds and runs fine, and probably does just what you wanted it to do.

Ok, so what?

So try now to adjust the location of the splitter within the NSSplitView. Watch in horror as the contained views do weird things and the right edge of the NSSplitView moves with the splitter move…

Now try to find documentation that explains how to use the constraints and what the settings mean. Yeah. Good luck with that.

Ok. It IS improving, but let’s turn it off so we can do things for real.

In the left sidebar, click on your nib.

In the right sidebar click on the File Inspector. Locate the Use Auto Layout checkbox, uncheck it and save your file.


Back to familiar and more reliable struts & springs…

8 thoughts on “Arggh… Xcode 4.3 Auto Layout is ON By Default?! How to Turn Off Auto Layout…

  1. This “feature” also breaks loading xibs with “loadNibNamed” in some circumstances on Mac OS X 10.6 (and potentially other versions). This helped me identify how to turn it off and things are loading fine now. Thank you.

  2. Pingback: Are Cocoa Auto Layouts Backwards Compatible?

  3. Pingback: xcode4.3,UseAutolayout,取消,iOS,OSX,向下兼容,sed,iOS5,10.7,10.6,-i | Rainbird的个人博客

  4. Pingback: How to turn off iOS autolayout for iOS5 compatibility. »

  5. Pingback: Remove autolayout (constraints) in Interface Builder | Yee Answers

  6. Pingback: How to: Remove autolayout (constraints) in Interface Builder | SevenNet

  7. Pingback: Resolved: Remove autolayout (constraints) in Interface Builder #answer #solution #programming | IT Info

Leave a Reply