On Aug 15, 2014, at 8:44 PM, Ben Kennedy <b...@zygoat.ca> wrote:
> 
>> On 15 Aug 2014, at 8:17 pm, Graham Cox <graham....@bigpond.com> wrote:
>> 
>> What I really want is that part of my view hierarchy to be free to use 
>> -setFrame:, but other parts use the autolayout constraints normally.
> 
> Can't you simply set translatesAutoresizingMaskIntoConstraints = NO on the 
> views in question?  Then you should be free to manipulate such views' frames 
> at will without interfering in any related constraints.

Not sure if you’ve got this backwards, or are unaware of a certain frameworks 
bug.

Views whose translatesAutoresizingMaskIntoConstraints property is set to YES 
can be positioned via -setFrame:. Views whose property is set to NO must be 
positioned via constraints.

Theoretically, you could still use -setFrame: to position views whose 
translatesAutoresizingMask property is set to NO (and I believe Apple even said 
that you could), but it turns out that Auto Layout evaluates *every* view in 
the window and sets and un constrained variables to zero. That means that if a 
layout pass happens to occur at any point, your view will effectively disappear 
as its frame is set to NSZeroRect.

I filed this a long time ago, but I doubt it will ever get fixed. :(

--Kyle Sluder
_______________________________________________

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