> On 21 Apr 2016, at 12:12 am, Quincey Morris 
> <quinceymor...@rivergatesoftware.com> wrote:

> 1. Part of the problem is branding. “Autolayout” actually refers to the 
> runtime layout engine, and what happens automatically is the runtime 
> relocation of UI elements according to constraints.

Yeah, the more descriptive term is “constraint-based layout”. Apple seems to 
use both. From the perspective of the developer, the latter makes more sense.

> 4. The biggest single autolayout-related design flaw in IB is its pathetic 
> deathgrip on the concept of WYSIWYG editing by dragging UI elements around.

It's interesting you say this; when preparing a constraint-based layout, that 
type of workflow has rarely ever occurred to me. I usually visualize what I 
want to achieve, then create constraints as necessary (typically by selecting a 
view, then clicking one of those little pop-up menu things in the lower right 
to spawn the popover). As such I'm not sure I appreciate the "death grip" 
you're alluding to.

> I think I’d much rather have a scheme where you can’t drag or resize UI 
> elements at all, but you would essentially drag on the constraints (or on 
> attributes that uniquely represent constraints that can be consistently 
> altered by dragging) instead.

Not a bad idea; locking the views themselves in place against direct (and 
functionally fruitless) dragging might help combat some of the feeling that the 
UI is drenched in too much lubricant.

> 5. The second-biggest autolayout-related design flaw is the idea that IB 
> provides invisible default constraints for any object that doesn’t have any 
> explicit constraints. This is a consequence of the drag-it-till-it-hurts 
> problem (#4),

I think this is actually a consequence of 
translatesAutoresizingMaskIntoConstraints being set to YES in the absence of 
any constraints; as such, the view gets explicit canvas-based positioning. At 
least, this appears to be the case a lot of the time. I would argue this is a 
UI problem in IB where it tries to smooth over the transition between 
autoresizing- and constraint-based layout without properly informing the user.

> 6. The third-biggest problem is that there are two separate inspector-based 
> editing interfaces for constraints, and they’re on different tabs of the 
> Utilities panel. If you select a UI element, you need the Size tab, but if 
> you select a constraint, you need the Attributes tab. On top of that is the 
> problem, generally, that the Size and Attributes each contain settings that 
> are intimately related to the other. These two tabs desperately need to be 
> merged (back) into a single tab.

This is frustrating as hell, and I couldn't agree more.

What's equally infuriating is that it seems damn near impossible to delete a 
constraint from those tabs. Pressing backspace (or "delete" as Apple's 
keyboards call it) merely *disables* the constraint. One is then left to hunt 
around in the damn list on the right in order to find it and then delete it 
*again* from there in order to actually eviscerate it.

b


_______________________________________________

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

Reply via email to