0

現在、コレクション ビュー セルに longPressGesture があります。

@IBAction func longGesture(sender: AnyObject) {


    if sender.state == UIGestureRecognizerState.Began
    {
        let location = sender.locationInView(sender.view)
        println(location)
        let index = whoCollectionView.indexPathForItemAtPoint(location)
        println(index)

    }

}

これは longPressGesture の私のコードです。私は自分の場所で良い結果を得ていますが、collectionView の最後のセル以外では、インデックスに対して nil を取得します。最後のセルのインデックスは 0 です。

また、sender.viewをself.viewに置き換えてみましたが、奇妙な結果も得られます。これを行うと、長いジェスチャーの 60% が nil を返します。

4

1 に答える 1

0
 let location = sender.locationInView(sender.view)

セルフレームを使用して計算できるように、locationInView はコレクションビューである必要があります。

試す

let location = sender.locationInView(whoCollectionView.view)
于 2015-05-28T21:26:20.613 に答える