2016-05-13 4 views
0

Я начинаю новый проект для tvOS. Я создал программный UITableView внутри моего диспетчера представлений. Внутри UITableView я создал 5 ячеек. До сих пор все работает, но проблема возникает, когда я пытаюсь программно выделите ячейку 4, так что я делаю:tvOS UITableView прокрутите до ячейки

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

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

Но код выше ничего не делает. Он всегда начинается с первой ячейки и выделяет ее как выбранную. Я хочу, чтобы иметь возможность программно запускаться в другой ячейке, и это наиболее важно, поэтому, когда я использую клавиши со стрелками вниз или вверх, прокручиваем оттуда, а не первую ячейку. Пожалуйста, помогите мне в этом, что

ответ

1

Вы должны сделать следующее: В ViewController, которые отвечают за UITableView, реализовать следующую функцию:

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

где Tableview это ваш стол, и после этого переопределения следующей функции

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

где _exerciseIndex индекс, который вам нужно сфокусировать.

Смежные вопросы