Выберите строку таблицы программно

Как программно выбрать строку UITableView, чтобы выполнить

- (void)tableView:(UITableView *)tableView 
        didSelectRowAtIndexPath:(NSIndexPath *)indexPath

? selectRowAtIndexPath только выделит строку.

133
задан Alex Cio 14 May 2014 в 15:29
поделиться

2 ответа

Из справочной документации:

Вызов этого метода не приводит к получению делегатом сообщения tableView:willSelectRowAtIndexPath: или tableView:didSelectRowAtIndexPath:, а также не посылает UITableViewSelectionDidChangeNotification уведомления наблюдателям.

Я бы сделал:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [self doSomethingWithRowAtIndexPath:indexPath];
}

А затем, откуда вы хотите позвонить selectRowAtIndexPath, вы вместо этого вызываете doSomethingWithRowAtIndexPath. Кроме того, вы можете дополнительно вызвать selectRowAtIndexPath, если хотите, чтобы произошла обратная связь с пользовательским интерфейсом.

109
ответ дан 24 November 2019 в 00:00
поделиться

UiableView's SelectRowatindexpath: Animated: ScrollPosition: должен сделать трюк.

Просто пройти UiableViewsCrollPositionnone для прокрутки, и пользователь не увидит никакого движения.


Вы также должны иметь возможность вручную запустить действие:

[ThetableView.delegate TableView: thetableview dadelectrowatindexpath: indexpath]

После вас SELECTROWATINDEXPATH: Animated: ScrollPosition: Так что выделение происходит, а также любая связанная с ними.

63
ответ дан 24 November 2019 в 00:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: