テーブルビューをスクロールすると、指が置かれているセルに対してテーブルデリゲートメソッドのdidSelectRowAtIndexPathメソッドが開始されません。その呼び出しを上下にスライドさせる代わりにタップすると、delegateメソッドでindexPathが与えられます。スクロール時にUITableViewのセルのindexPathを取得します。
tableViewをスクロールするときに指が動いているセルのindexPathを取得できるかどうかは疑問でした。これは可能ですか?
テーブルビューをスクロールすると、指が置かれているセルに対してテーブルデリゲートメソッドのdidSelectRowAtIndexPathメソッドが開始されません。その呼び出しを上下にスライドさせる代わりにタップすると、delegateメソッドでindexPathが与えられます。スクロール時にUITableViewのセルのindexPathを取得します。
tableViewをスクロールするときに指が動いているセルのindexPathを取得できるかどうかは疑問でした。これは可能ですか?
これは移動するための方法が考えられます。
class TableViewController: UITableViewController {
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 50
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell: UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("Cell")
if cell == nil {
cell = UITableViewCell(style: .Default, reuseIdentifier: "Cell")
}
cell.textLabel?.text = "\(indexPath.row)"
return cell
}
override func scrollViewWillBeginDragging(scrollView: UIScrollView) {
let location = scrollView.panGestureRecognizer.locationInView(tableView)
guard let indexPath = tableView.indexPathForRowAtPoint(location) else {
print("could not specify an indexpath")
return
}
print("will begin dragging at row \(indexPath.row)")
}
}
テーブルビューのpanGestureRecognizer
にアクセスすることができます(スクロールビューのタイプなので)locationInView:
を入手してください。次に、テーブルビューにindexPathForRowAtPoint:
のインデックスパスに変換するように要求することができます。
私はそれを試してみましょう。ありがとう –
は完全に働いた –
私は助けることができてうれしい。彼は正しい方向を指しているので、いくつかのクレジットは@Wainに行く...;) –