Background views of UITableView never receive touch events

Originator:bdorfman
Number:rdar://14959634 Date Originated:9/10/13
Status:Closed as duplicate of 14891471 Resolved:
Product:iOS SDK Product Version:
Classification: Reproducible:Always
 
Summary:
Pre iOS7 beta 5, a background view of a UITableView would receive touch events if a user touched where there was no cell covering it up (for example, if you used contentInset to make some empty space at the top). Now the touches are always intercepted by the undocumented UITableViewWrapperView class (discovered by printing out UITouch began events to the console in Xcode). This breaks previous functionality.

Steps to Reproduce:
1. Create a UITableView with a vertical contentInset (example {100, 0, 0, 0})
2. Add a backgroundView to the tableview with a UIGestureRecognizer attached to it.
3. Add a few dummy cells to the UITableView's data source
4. Observe that tapping the portion of the table without cells does not trigger the backgroundView's gesture recognizer (in this example, the top 100 pts when scrolled to the top)

Expected Results:
Tapping the uncovered backgroundView should cause the hitTest to fall through to that backgroundView

Actual Results:
The touch is intercepted by UITableViewWrapperView

Version:
iOS7 GM

Notes:


Configuration:
Does not seem to occur prior to iOS7 Beta 5. Works as expected in iOS 6.1.4

Attachments:

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!