2012-04-17 635 views
38

我不是說我想禁用滾動。我希望能夠以編程方式告訴表格立即停止移動(但之後它應該仍然可以滾動)。這可能嗎?我如何使UITableView停止滾動

+0

嘗試看這個鏈接: http://stackoverflow.com/questions/986392/programmatically-force-a-uiscrollview-to-stop-scrolling-for-sharing-a-table-vie 這也可以工作: [tableView setContentOffset:tableView.contentOffset animated:NO]; 希望它有幫助。 :) – wayway 2012-04-17 20:11:13

+0

這個標題是有點誤導。 – 2014-10-02 19:56:46

+0

@JonathanKing:我不認爲這是完全一樣的。 「如何製作表格停止滾動」和「如何防止表格滾動」有很大區別。這也是爲什麼問題有一個標題和一個更長的描述去跟着它。 – MusiGenesis 2014-10-03 20:05:33

回答

102

A UITableViewUIScrollView的子類。如果你告訴它滾動到其當前位置,它會停止滾動所以這應該爲你工作:

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

那麼,這種工作,但它只能停止滾動表。如果表沒有足夠的行來實際滾動,如果我拉下來,它仍然會反彈一點,這會觸發scrollViewDidScroll:call,我試圖通過停止滾動來防止發生 – MusiGenesis 2012-04-17 21:02:23

+4

在這種情況下,您應禁用滾動,如果表視圖沒有足夠的行。 – ndfred 2012-04-17 21:46:04

+3

這只是不起作用。 – iOSdev 2014-06-03 12:12:43

7

設置tableView.alwaysBounceVertical = NO;

+0

這個答案如何回答這個問題? – Rambatino 2014-06-02 23:44:25

+0

@Rambatino:我認爲用戶在選擇的答案下回應了我的評論,以防止彈跳,儘管作爲評論這會更好。 – MusiGenesis 2015-02-25 15:21:17

17

綁定你的表視圖,以一個名爲tableView變量,然後用下面的行您可以禁用滾動:

tableView.scrollEnabled = NO; 

將其設置爲YES,如果你想讓它再是滾動的。

+1

+1它適用於我的情況。 – Shinichi 2014-07-11 14:25:16

-1

如果您使用表格視圖控制器,請按照下面的步驟在情節提要

  • 轉到

    1. 選擇表視圖控制器屬性督察>滾動型
    2. 取消選中啓用滾動
  • +0

    這個問題清楚地陳述編程 – Ryan 2015-11-03 00:41:09

    +0

    @Ryan,你是對的! – Vats 2018-03-01 05:26:58