You cannot swipe-to-close a UITableViewCell that only has trailing actions enabled

Originator:clint015
Number:rdar://36483487 Date Originated:1/12/2018
Status:Open Resolved:
Product:iOS SDK Product Version:11
Classification: Reproducible:Yes
 
Area:
UIKit

Summary:
When implementing a `UITableView` with iOS 11's new swipe actions API, if only `trailingSwipeActionsConfigurationForRowAt` is implemented, or if `leadingSwipeActionsConfigurationForRowAt` returns `nil`, swiping towards the leading edge will correctly show the actions, but swiping in the opposite direction will _not_ hide the actions. 

If both functions return non-nil and non empty `UISwipeActionsConfiguration`, swiping in the opposite direction used to open the line will successfully close it.

Steps to Reproduce:
Swipe towards the leading edge of a line that only has `trailingSwipeActionsConfigurationForRowAt` implemented. Once open, swipe in the opposite direction. See the Reminders app for an example.

Expected Results:
The actions to be hidden in the same manner as when both leading and trailing APIs return non nil, non empty values (the line returns to its closed state). See the Mail app for an example.

Actual Results:
The cell does not close. Only closes if the cell is tapped or the `UITableView` is scrolled.

Version/Build:
iOS 11+

Configuration:

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!