2017-03-06 54 views
3

我轉換雨燕2.3項目Ø斯威夫特3中,經過數以千計的變化斯威夫特3 scrollToRowAtIndexPath成爲scrollToRow

的挖掘目前,我有這樣的代碼:

outletCatalog.scrollToRowAtIndexPath(myIndex, atScrollPoisition: .top, animated: false) 

但是,它顯然是通過更換

func scrollToRow(at: IndexPath, at: UITableViewScrollPosition, animated: Bool) 

不過 - 我不明白的雙參數命名「爲」和我GOOGL搜索沒有產生任何結果。和代碼轉換工具只是表明它有

scrollToRow(at:at:animated) 

回答

0

根據API參考文檔,scrollToRow(在:在:動畫:)滾動經過表視圖,直到指數路徑標識的行是在一個特定的位置屏幕。第一個參數是IndexPath類型(它指定了要滾動到的部分和行)。第二個參數是類型爲UITableViewScrollPosition的枚舉值,指定行放置在滾動結尾(屏幕頂部/中間/底部)的位置。第三個參數只是激活了過程。

在您的代碼,您有:

outletCatalog.scrollToRowAtIndexPath(myIndex, atScrollPosition: .top, animated: false) 

哪些可以替換爲:

outletCatalog.scrollToRow(at: myIndex, at: .top, animated: false) 

更多,請看這裏: https://developer.apple.com/reference/uikit/uitableview/1614997-scrolltorow https://developer.apple.com/reference/uikit/uitableviewscrollposition

4

後從代碼轉換Swift 2.3Swift 3。 2版本,您需要調用GCD main dispatch block以下的代碼,並使用新的變化來自動滾動行以進行索引。

DispatchQueue.main.async { 
    let index = IndexPath(row: 10, section: 0) // use your index number or Indexpath 
    self.tableCart.scrollToRow(at: index,at: .middle, animated: true) //here .middle is the scroll position can change it as per your need 
}  

我希望它能爲你工作。