NSStackView in a NSPopover or its own NSWindow fails to animate properly when rows removed

Originator:todd.thomas
Number:rdar://24403791 Date Originated:28-Jan-2016 09:03 PM
Status:Open Resolved:
Product:OS X SDK Product Version:10.11
Classification: Reproducible:always
 
Summary:
The animations that happen when a row is removed from NSStackView look pretty bad. Rows that shouldn't even move slide and then move back to where they should be when other items are deleted.
Perhaps there's some constraint I should be setting but I don't know about? 
This is default behavior of just adding a NSStackView into NSPopover and NSWindow and letting them animate when rows are deleted. NSStackView is pretty cool but for some things it just doesn't work very well (this being one of those).

Steps to Reproduce:
1. Compile example app.
2. Click 'Popover' or 'Window' button.
3. Click the Delete/- button for any row that isn't the first row.
4. Ponder the very slowed down animations and what is happening.
5. Meditate for a minimum of 15 minutes.
6. Again ponder why auto layout + NSStackView doesn't work well when shrinking while also shrinking its host window/popover.

Expected Results:
That the animations look nice while window or popover resizes to show only the remaining rows. In the case of being inside the window it would be good to not reload everything and have existing rows slide to where they should be.

Actual Results:
Poor animations during window/popover/stackview resize.


Version:
Xcode 7.2 7C68, 10.11.3 (15D21)


Notes:
Workaround is likely to just use a NSTableView instead of NSStackView.
Ignore the split view and visual effect view in the app. They are there because I'm going to use the same project to submit another bug.

Configuration:
Only tried on 10.11.3 (15D21).

Attachments:
'PastebotPlayground.zip' was successfully uploaded.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!