Gostaria de saber quando UITableView
foi rolar para baixo a fim de carregar e mostrar mais conteúdo, algo como um delegado ou outra coisa para informar o controlador quando a tabela rolar para baixo.
Alguém sabe disso, por favor me ajude, desde já agradeço!
ios
uitableview
scroll
Filho nguyen
fonte
fonte
no delegado tableview faça algo assim
ObjC:
Rápido:
fonte
Neoneyes modificados respondem um pouco.
Esta resposta é direcionada àqueles que desejam que o evento seja acionado apenas uma vez a cada liberação do dedo .
Adequado ao carregar mais conteúdo de algum provedor de conteúdo (serviço da web, dados básicos, etc.). Observe que essa abordagem não respeita o tempo de resposta de seu serviço da web.
fonte
adicione este método no
UITableViewDelegate
:fonte
Nenhuma das respostas acima me ajudou, então eu vim com o seguinte:
fonte
Use
– tableView:willDisplayCell:forRowAtIndexPath:
(UITableViewDelegate
método)Basta comparar o
indexPath
com os itens em sua matriz de dados (ou qualquer fonte de dados que você usa para sua exibição de tabela) para descobrir se o último elemento está sendo exibido.Documentos: http://developer.apple.com/library/ios/documentation/uikit/reference/UITableViewDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UITableViewDelegate/tableView:willDisplayCell:forRowAtIndexPath :
fonte
UITableView
é uma subclasse deUIScrollView
eUITableViewDelegate
está em conformidade comUIScrollViewDelegate
. Portanto, o delegado que você anexa à visualização da tabela obterá eventos comoscrollViewDidScroll:
, e você pode chamar métodos comocontentOffset
na visualização da mesa para encontrar a posição de rolagem.fonte
Bom e simples
fonte
em
Swift
você pode fazer algo assim. A seguinte condição será verdadeira toda vez que você chegar ao final do tableviewfonte
println("came to last row")
este código é executado!Com base na resposta de @Jay Mayu, que considero uma das melhores soluções:
Objective-C
Swift 2.x
fonte
Eu geralmente uso isso para carregar mais dados, quando a última célula começa a exibir
fonte
Pegando novas respostas excelentes, mas rapidamente, e renomeando as variáveis.
Basicamente, sabemos que atingimos a parte inferior da visualização da tabela se
yOffsetAtBottom
estiver além da altura do conteúdo da tabela.fonte
Aqui está o código da versão 3.0 do swift.
fonte
Minha solução é adicionar células antes que tableview desacelere no deslocamento estimado. É previsível pela velocidade.
fonte
A resposta de Neoneye funcionou melhor para mim no Objetivo C, isso é o equivalente à resposta no Swift 3:
fonte
Quero realizar alguma ação em qualquer 1 Tableviewcell completa.
Portanto, o código é o link:
Que isso seja útil para alguém.
fonte
A resposta de @neoneye funcionou para mim. Aqui está a versão do Swift 4
fonte