Hello, I have a UITableView that contains UITableViewCells.
Before the tvOS 17 update, things were working fine - however, now didSelectRowAt is no longer working. I printed a log in the tableView method but it doesn't get invoked at all.
The pressesBegan methods are still called on both the table and the cell.
Checklist:
- allowsSelection = true
- Interactions Enabled (on both table and cell)
- channel_list_table_view.dataSource = self
- channel_list_table_view.delegate = self
Here is the table code (omitted a lot):
@IBDesignable
class channel_list_view: UIView, UITableViewDelegate, UITableViewDataSource, slice_view_event_receiver, channel_list_table_cell_event_receiver {
@IBOutlet weak var channel_list_table_view: UITableView!
func common_init() {
view = load_view_from_nib()
view.frame = bounds
addSubview(view)
self.channel_list_table_view.allowsSelection = true
/*
* Register the cell nib with the table so it knows how to create cells using the identifier
*/
channel_list_table_view.register(UINib(nibName: "channel_list_table_cell", bundle: nil), forCellReuseIdentifier: "channel_list_table_cell")
/*
* Link our instance to the table as its delegate and data source
*/
channel_list_table_view.dataSource = self
channel_list_table_view.delegate = self
channel_list_table_view.remembersLastFocusedIndexPath = true
/*
* Left swift caises refocus on the controls bar
*/
let left_swipe_recogniser = UISwipeGestureRecognizer(target: self, action: #selector(swipe_gesture_occurred))
left_swipe_recogniser.direction = .left
view.addGestureRecognizer(left_swipe_recogniser)
}
override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
for press in presses {
if press.type == .leftArrow {
event_receiver?.leave_channel_list(selected_guide_item: nil)
return
}
}
super.pressesBegan(presses, with: event)
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// NOT GETTING CALLED
}
}
I would appreciate any insight/help that anyone can spare. Help!