UITableView(Controller) deselection behavior is flaky

Originator:igeek1
Number:rdar://26798918 Date Originated:14-Jun-2016 02:35 PM
Status:Duplicate of 14489357 Resolved:21-Jun-2016 02:16 AM
Product:iOS Product Version:9.3.2
Classification:UI/Usability Reproducible:Sometimes
 
Area:
UIKit

Summary:
When navigating back to a screen that has a table view, if you had selected a row of the table to initially navigate away from it, the deselection behavior of the table view is inconsistent.

Steps to Reproduce:
1. Open the attached sample app and run it on an iPhone. It has a table view controller.
2. Tap the first cell, "Default Deselection"
3. Observe that the cell highlights as the detail view pushes.
4. Use an interactive dismiss gesture (slide from the leading edge of the screen) to dismiss the detail view.
5. Repeat 1-4 several times.

Expected Results:
I'm not exactly sure what the default deselection behavior should be (going to ask about it at WWDC labs), but the deselection of the row should at least be consistent.

Actual Results:
Look at the attached video. I'm seeing two behaviors, neither of which looks very good, and one of which could be considered a bug:
1. The cell stays highlighted during the navigation pop interactive transition. Once the navigation is complete, then the cell animates its deselection.
2. The cell does not deselect at all (or maybe partially deselects - it's hard to tell), but then it gets stuck and does not ever completely deselect.

Version:
iOS 9.3.2

Notes:
I wrote a blog post that explores the deselection behavior a little more closely: https://www.raizlabs.com/dev/2016/05/smarter-animated-row-deselection-ios/ (the sample code and videos are also posted there).

I'll be asking about this in the labs, but the issue I'm addressing here is specifically the inconsistency in deselection animation when doing nothing special in -viewWillAppear:animated:.

Configuration:
iPhone 6s, but also reproduced elsewhere

Comments

Update: this bug is still present in the first iOS 10 seed from WWDC.


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!