我想雙擊UICollectionViewCell以像OkCupid App這樣的配置文件。我已經在集合視圖上應用了Tap Gesture,但它不起作用。雙擊UICollectionViewCell上的手勢?
當我嘗試每次都嘗試雙擊單元格時didSelectCollectionViewCell
方法調用。
我想雙擊UICollectionViewCell以像OkCupid App這樣的配置文件。我已經在集合視圖上應用了Tap Gesture,但它不起作用。雙擊UICollectionViewCell上的手勢?
當我嘗試每次都嘗試雙擊單元格時didSelectCollectionViewCell
方法調用。
您是否已將UITapGestureRecognizer
屬性numberOfTapsRequired:
設置爲2?
您必須將雙擊手勢識別器添加到集合視圖而不是單元格。在它的行動選擇,你可以決定哪些細胞是雙敲擊
override func viewDidLoad() {
var doubleTapGesture: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "didDoubleTapCollectionView:")
doubleTapGesture.numberOfTapsRequired = 2 // add double tap
self.collectionView.addGestureRecognizer(doubleTapGesture)
}
func didDoubleTapCollectionView(gesture: UITapGestureRecognizer) {
var pointInCollectionView: CGPoint = gesture.locationInView(self.collectionView)
var selectedIndexPath: NSIndexPath = self.collectionView(forItemAtPoint: pointInCollectionView)
var selectedCell: UICollectionViewCell = self.collectionView.cellForItemAtIndexPath(selectedIndexPath)
// Rest code
}
應用UITapGesture上UICollectionviewcell代替UIcollectionView和處理定製UICollectionViewCell選擇和設置屬性numberofTapsRequired等於2 .. ...
你得到的錯誤:無法調用非函數類型的值'UICollectionView!'是因爲你試圖使用錯誤的方法。
請儘量使用這一個:
var selectedIndexPath: NSIndexPath = self.collectionView.indexPathForItemAtPoint(pointInCollectionView)
感謝您的幫助 –
真正的天才.... –
上面的代碼提供了一個錯誤,無法調用非功能型的價值「UICollectionView!」 –
聽起來像你的collectionview中的錯誤檢查你的collectionview –
以上這些方法不存在,請在回覆時提供有效的可編譯代碼,以免混淆其他初學者開發者。 –