10.12beta(16A270f) and 10.11.6 AppKit, NSTableView gap dragging bug(s)
| Originator: | todd.thomas | ||
| Number: | rdar://27755971 | Date Originated: | 08-Aug-2016 04:53 PM |
| Status: | Open | Resolved: | |
| Product: | macOS SDK | Product Version: | |
| Classification: | Reproducible: |
Summary: The sample app was tested on both 10.11.6 and 10.12beta. Both exhibit the same symptoms and both cause an exception at the same place. See steps to reproduce. Steps to Reproduce: 1. Compile app on your choice of OS version (10.11.6 of 10.12(16a270f). 2. Click on one of the visible rows and drag down the table slowly. 3. The rows below get all fidgety and jump around as you slowly move the row you are dragging. 4. That's bug #1. 5. Release the dragged row. 6. Scroll to the bottom of the table view and drag row 20. 7. It should immediately cause an exception on both production OS X and beta macOS. 8. The exception goes away if you change your dragging feedback style to something that is not gap. Expected Results: 1. Well my designer looks at Reminders and says "I want drag re-ordering like that". I try and do the same and run into all kinds of problems. 2. I'd like to use gap drag/drop because it does look nicer than the alternatives. Actual Results: 1. Jittery rows during dragging. 2. A crash if I drag the last row. 3. Sadness. Version: First try: Xcode 7.3, Mac OS 10.11.6 (don't have build numbers because booted into macOS 10.12 beta) Xcode 8 beta 4(8S188o), 10.12beta(16A270f) Notes: I'm hoping you can provide me with workarounds. :-) Configuration: MacBook Pro 2012 Retina. Used to test both 10.11.6 and 10.12beta. Happens on both machines. Attachments: 'TableClipping.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!
The workaround for this bug:
Even if your tableview row heights are fixed you need to implement the delegate method:
and return that height. Fixes the problems specified in the bug report. The workaround came from DTS.