tvOS UITableView 滚动到单元格

tvOS UITableView scroll to cell

我正在为 tvOS 开始一个新项目。我在 viewcontroller 中以编程方式创建了一个 UITableView。在 UITableView 中,我创建了 5 个单元格。到现在为止一切正常,但是当我尝试以编程方式滚动到单元格 4 时出现问题,所以我正在做:

 NSIndexPath *indexPath = [NSIndexPath indexPathForRow:3
                                            inSection:0];

[tableView scrollToRowAtIndexPath:indexPath
                     atScrollPosition:UITableViewScrollPositionTop
                             animated:YES];

但是上面的代码什么也没做。它总是从第一个单元格开始并将其突出显示为所选单元格。我希望能够以编程方式从另一个单元格开始,它最突出显示,所以当我使用向下或向上箭头键时,它会从那里滚动,而不是第一个单元格。请帮助我这样做

您接下来应该做的是: 在响应UITableView的viewController中,实现下一个函数:

- (UIView *)preferredFocusedView {
    return self.tableView;
}

其中 tableView 是您的 table,然后覆盖下一个函数

- (NSIndexPath *)indexPathForPreferredFocusedViewInTableView:(UITableView *)tableView  {
    return [NSIndexPath indexPathForRow:_exerciseIndex inSection:0];
}

where _exerciseIndex 您需要关注的索引。