2012-04-17 20 views
38

Non voglio dire che voglio disabilitare lo scorrimento. Voglio essere in grado di dire alla tabella automaticamente di smettere immediatamente di spostarsi (ma dovrebbe essere ancora scorrevole dopo). È possibile?Come faccio a far smettere di UITableView lo scrolling

+0

Try guardando questo link: http://stackoverflow.com/questions/986392/programmatically-force-a-uiscrollview-to-stop-scrolling-for-sharing-a-table-vie Questo potrebbe funzionare anche: [tableView setContentOffset: tableView.contentOffset animato: NO]; Spero che aiuti. :) – wayway

+0

Questo titolo è una sorta di fuorviante. –

+0

@ JonathanKing: non penso che lo sia affatto. C'è una grande differenza tra "come faccio a far smettere di scorrere una tabella" e "come impedire a una tabella di scorrere". È anche il motivo per cui le domande hanno un titolo e una descrizione più lunga. – MusiGenesis

risposta

102

A UITableView è una sottoclasse di UIScrollView. Se si dice di scorrere fino alla sua attuale posizione, si fermerà lo scorrimento quindi questo dovrebbe funzionare per voi:

[tableView setContentOffset:tableView.contentOffset animated:NO]; 
+0

Beh, questo tipo di ha funzionato, ma funziona solo per impedire al tavolo di scorrere. Se la tabella non ha abbastanza righe per scorrere effettivamente, se tengo premuto rimarrà ancora un po ', che attiva lo scrollViewDidScroll: call, che sto cercando di impedire che accada fermando lo scrolling – MusiGenesis

+4

In questo caso tu dovrebbe disabilitare lo scorrimento se la vista tabella non ha abbastanza righe. – ndfred

+3

Questo non funziona. – iOSdev

7

set tableView.alwaysBounceVertical = NO;

+0

In che modo risponde a questa domanda? – Rambatino

+0

@Rambatino: Penso che l'utente stia rispondendo al mio commento sotto la risposta selezionata circa anche impedendo il rimbalzo, anche se questo sarebbe stato meglio come commento. – MusiGenesis

17

vincolare il proprio vista tabella per una variabile chiamata tableView, poi con la seguente riga è possibile disattivare lo scorrimento:

tableView.scrollEnabled = NO; 

Set a YES, se si vuole che sia di nuovo scorrevole.

+1

+1 funziona nel mio caso. – Shinichi

-1

Se si utilizza la visualizzazione tabella di controllo, seguire la procedura

  1. Select table view controller su storyboard
  2. Vai attribuire inspector-> ScrollView
  3. Togliere il segno di scrolling abilitato
+0

la domanda afferma chiaramente programmaticamente – Ryan

+0

@Ryan, hai ragione! – Vats

Problemi correlati