For what it's worth, I have an app with a window like you describe: toolbar, 
split view with source list on the left and content on the right.  It uses auto 
layout and has no problem resizing even though the split view's delegate 
implements those methods listed in the release notes.  What that means, as I 
understand it, is that when those delegate methods are implemented, the split 
view itself does not use auto layout.  It leaves its subviews with 
translatesAutoresizingMaskIntoConstraints enabled and sets their frames.  It 
ignores any minimum or maximum size that would result from constraints within 
the subviews.  Basically, it works as it did before 10.8.

I have a vague recollection that the bug you've encountered is specific to 
adding the toolbar after the split view.  I realize that you have a fix 
already, but you might try adding the toolbar first, if you're still curious.

Regards,
Ken

On Dec 17, 2014, at 8:31 AM, Charles Jenkins <cejw...@gmail.com> wrote:

> Well, there you go. Another newbie booby trap! :-D
> 
> It looks like the demo app works as expected if I do not set the Split View 
> delegate and instead go into IB and crank the left side’ s holding priority 
> all the way up.

> On Tuesday, December 16, 2014 at 23:50, Quincey Morris wrote:
> 
>> On Dec 16, 2014, at 20:38 , Charles Jenkins <cejw...@gmail.com 
>> (mailto:cejw...@gmail.com)> wrote:
>>> 
>>> whether it’s a bug that should be reported to Apple
>> From the 10.8 release notes 
>> (https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKitOlderNotes/):
>> 
>>> Auto Layout NSSplitView improvements
>>> 
>>> In 10.8, NSSplitView properly respects constraints applied to its subviews, 
>>> such as their minimum view widths. There are also new APIs for controlling 
>>> the holding priorities, which determine both the NSLayoutPriority at which 
>>> a split view holds its sizes and also which views change size if the split 
>>> view itself grows or shrinks.
>>> 
>>> - 
>>> (NSLayoutPriority)holdingPriorityForSubviewAtIndex:(NSInteger)subviewIndex;
>>> - (void)setHoldingPriority:(NSLayoutPriority)priority 
>>> forSubviewAtIndex:(NSInteger)subviewIndex;
>>> 
>>> In order to take advantage of these improvements, you must NOT implement 
>>> any of the following NSSplitViewDelegate methods:
>>> 
>>> splitView:constrainMinCoordinate:ofSubviewAt:
>>> splitView:constrainMaxCoordinate:ofSubviewAt:
>>> splitView:resizeSubviewsWithOldSize:
>>> splitView:shouldAdjustSizeOfSubview:
>>> 
>>> These methods are incompatible with auto layout. You can typically achieve 
>>> their effects and more with auto layout.
>> 
>> I don’t see any warning in the split view delegate documentation, so that’s 
>> probably a documentation deficiency.



_______________________________________________

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