Como seleciono programaticamente uma UITableView
linha para que
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
é executado? selectRowAtIndexPath
destacará apenas a linha.
iphone
objective-c
cocoa-touch
uitableview
4thSpace
fonte
fonte
Respostas:
Da documentação de referência:
O que eu faria é:
E então, de onde você deseja chamar selectRowAtIndexPath, chame doSomethingWithRowAtIndexPath. Além disso, você também pode chamar selectRowAtIndexPath se desejar que o feedback da interface do usuário ocorra.
fonte
Como Jaanus disse:
Então você só precisa chamar o
delegate
método.Por exemplo:
Versão Swift 3:
Versão ObjectiveC:
Versão Swift 2.3:
fonte
O selectRowAtIndexPath do UITableView : animated: scrollPosition: deve fazer o truque.
Basta passar
UITableViewScrollPositionNone
para scrollPosition e o usuário não verá nenhum movimento.Você também deve poder executar manualmente a ação:
[theTableView.delegate tableView:theTableView didSelectRowAtIndexPath:indexPath]
depois de você
selectRowAtIndexPath:animated:scrollPosition:
, o destaque acontece, assim como qualquer lógica associada.fonte
se você quiser selecionar alguma linha, isso ajudará você
Isso também destacará a linha. Em seguida, delegue
fonte
Solução Swift 3/4/5
Selecionar linha
DeSelect Row
fonte
Existem dois métodos diferentes para plataformas iPad e iPhone, então você precisa implementar os dois:
segue.
fonte
Use esta categoria para selecionar uma linha da tabela e executar uma determinada sequência após um atraso.
Chame isso dentro do seu
viewDidAppear
método:fonte