Я использую UICollectionView для отображения продуктов из внешнего API. Продукты прекрасно отображаются в коллекции, но по какой-то причине я не могу выбрать ни одну из ячеек. Я могу выбрать первую ячейку, но только когда прокручиваю вверх, а затем быстро коснусь первой ячейки. Я использую раскадровку для создания segue, а в контроллере я передаю данные в следующий вид. Код ниже:UICollectionView разрешает выбор первой ячейки
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.tableData.count
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
let cell: ProductsViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("productViewCell", forIndexPath: indexPath) as! ProductsViewCell
let product = tableData[indexPath.row]
cell.configureWithProduct(product, categoryId: "")
return cell
}
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
print("Cell \(indexPath.row) selected")
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "productDetails") {
let svc = segue.destinationViewController as! ProductViewController;
let indexPaths : NSArray = self.collectionView!.indexPathsForSelectedItems()!
let indexPath : NSIndexPath = indexPaths[0] as! NSIndexPath
let product = tableData[indexPath.row]
svc.productId = product["merged"][0]["id"].int
}
}
didSelectItemAtIndexPath не вызывается, он показывает оператор печати, и это утверждение не показывается. Я только что проверил, что нет представления над представлением коллекции. Вид коллекции свитки отлично, но я не могу выбрать ячейку. –
Выяснил это. Я добавил представление о жесте в коде и не учитывал его. Благодаря! –
Отлично, что вы это поняли –