テーブルビューで自動的にスクロールするにはどうすればよいですか? (Swift) 質問する

テーブルビューで自動的にスクロールするにはどうすればよいですか? (Swift) 質問する

テーブル ビューに検索バーを追加しました。ユーザーが検索すると、入力したテキストまでテーブル ビューがスクロールするようにします。

スクロールビューを自動的にスクロールさせるにはどうすればよいですか?

これを試したのですが、Integer はインデックス パスに変換できないというエラーが表示されます。どうすればよいでしょうか?

self.tableview.scrollToRowAtIndexPath(1, atScrollPosition: UITableViewScrollPosition.Middle, animated: true)

または

self.tableview.scrollToNearestSelectedRowAtScrollPosition(scrollPosition: UITableViewScrollPosition.Middle, animated: true)

ベストアンサー1

メソッドはscrollToRowAtIndexPath次のように呼び出す必要があります。

var indexPath = NSIndexPath(forRow: numberOfRowYouWant, inSection: 0)
self.tableview.scrollToRowAtIndexPath(indexPath, 
               atScrollPosition: UITableViewScrollPosition.Middle, animated: true)

上記の例では、セクションが 1 つしかないことを前提としています。これがお役に立てば幸いです。

Swift 3の場合:

let indexPath = NSIndexPath(item: numberOfRowYouWant, section: 2)
tableView.scrollToRow(at: indexPath as IndexPath, at: UITableViewScrollPosition.middle, animated: true)

Swift 4の場合:

let indexPath = NSIndexPath(item: numberOfRowYouWant, section: 2)
tableView.scrollToRow(at: indexPath as IndexPath, at: UITableView.ScrollPosition.middle, animated: true)

おすすめ記事