I’ve never had to do anything like step 4. I’ve certainly added or changed constraints and fetched up a load of red boxes but never does it take more than a little bit of consideration to work out which constraints to remove or change.
Basically - it just isn’t that hard. > On 22 Apr 2016, at 17:09, Stephane Sudre <dev.iceb...@gmail.com> wrote: > > I tend to believe that it's because of step 4 that some developers > (#include me) still do not like auto layout. Because even with a very > simple view, you can waste a lot of time with this step. > > On Thu, Apr 21, 2016 at 9:49 PM, Bill Cheeseman <wjcheese...@gmail.com> wrote: >> >>> On Apr 21, 2016, at 3:19 PM, Charles Srstka <cocoa...@charlessoft.com> >>> wrote: >>> >>> Am I the only one who likes autolayout? >> >> >> No, I like it, too. I developed an approach that I'm comfortable with, and >> if I stick to it I can get the job done quickly. Of course, trying to >> accomplish something I haven't done before requires a little more thought, >> but I find that I can figure it out pretty quickly. It almost comes natural >> now. >> >> I use IB exclusively. My approach goes like this, on a one-window-at-a-time >> or one-view-at-a-time basis: >> >> 1. Drag all the views and controls onto the canvas and drop them more or >> less where I want them to end up. Don't waste any time trying to align them >> or make them the right size exactly -- just get position and size >> approximately right and move on. Leave it looking a little ragged. Above >> all, don't create any constraints yet. >> >> 2. Write enough of the application code to get a sense whether the layout >> needs to be changed. Change it as needed, but again don't waste any time >> getting it exactly right and don't create any constraints yet. >> >> 3. When the design feels like its ready to be frozen, create the >> constraints. DO NOT move the controls and views into the exact place they >> belong and then add constraints -- instead, do it the other way around: >> create the constraints first and then tell the controls and views to obey >> them. It will be much easier to see that they all moved into the right >> place, because they will all move a relatively short distance. More on this >> step below. >> >> 4. Every time you tell a window or view to obey new constraints, watch very >> carefully. If the controls and views move or resize in unexpected ways, or >> disappear completely, immediately choose undo to get back to where you were >> (with all the controls and views in approximately the right locations). Then >> figure out which constraint you left out or got wrong, and fix it. >> Repeatedly undo and fix as needed. >> >> 5. When you think you're done, lock the constraints down and do a lot of >> window resizing, divider dragging, and so on to test them. >> >> More on step 3. I create constraints the way I read: start at the top left >> corner, move item by item to the right, then move down one "row" and start >> at the left again, and so on until I reach the bottom right corner. This >> leads to some useful consistencies to help my brain figure out why something >> went wrong. (a) For example, it is often only the leftmost button in the top >> "row" of controls that needs a top constraint to the superview; the other >> buttons in that "row" will have their vertical dimension controlled by >> baseline or center alignment, or something similar. (b) Horizontal >> constraints are easily made complete, because I account for each piece one >> step at a time from left to right: leading constraint, width constraint, >> trailing constraint, etc. (c) I don't worry about hugging priorities and the >> like until all else fails, because the default priorities are designed to be >> right for most situations. >> >> -- >> >> Bill Cheeseman - wjcheese...@comcast.net >> >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> Please do not post admin requests or moderator comments to the list. >> Contact the moderators at cocoa-dev-admins(at)lists.apple.com >> >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/cocoa-dev/dev.iceberg%40gmail.com >> >> This email sent to dev.iceb...@gmail.com > > > > -- > Packaging Resources - http://s.sudre.free.fr/Packaging.html > > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > Please do not post admin requests or moderator comments to the list. > Contact the moderators at cocoa-dev-admins(at)lists.apple.com > > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/cocoa-dev/rols%40rols.org > > This email sent to r...@rols.org _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com