テーブル ビューに検索バーを追加しました。ユーザーが検索すると、入力したテキストまでテーブル ビューがスクロールするようにします。
スクロールビューを自動的にスクロールさせるにはどうすればよいですか?
これを試したのですが、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)