我正在为tvOS开始一个新项目。我在viewcontroller中创建了一个以编程方式UITableView。在UITableView内部,我创建了5个单元格。到目前为止一切正常,但问题发生在我尝试以编程方式滚动到单元格4时,我正在做:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:3
inSection:0];
[tableView scrollToRowAtIndexPath:indexPath
atScrollPosition:UITableViewScrollPositionTop
animated:YES];
但上面的代码什么也没做。它始终从第一个单元格开始,并将其突出显示为所选单元格。我希望能够以编程方式从另一个单元格开始并且它最突出,所以当我向下或向上使用箭头键时,它从那里滚动而不是第一个单元格。请帮助我这样做
答案 0 :(得分:1)
你应该做下一个: 在响应UITableView的viewController中,实现下一个函数:
- (UIView *)preferredFocusedView {
return self.tableView;
}
其中tableView是你的表,然后覆盖下一个函数
- (NSIndexPath *)indexPathForPreferredFocusedViewInTableView:(UITableView *)tableView {
return [NSIndexPath indexPathForRow:_exerciseIndex inSection:0];
}
你需要关注的_exerciseIndex索引。