¿Cómo agregar un button de eliminación a la colección Ver celda en Swift?

En este momento, tengo una list de nombres de usuario desplazables que usan una vista de colección de botones. Pero me gustaría agregar botones de eliminación superpuestos a cada fila. Deberían estar conectados a los botones de nombre y desplazarse con ellos.

¿Cómo puedo agregar estos botones a mi CollectionView? (También me gustaría omitir el button Eliminar en la primera fila por razones obvias)

Pantalla de selección de usuario

Código actual:

//Add the cells to collection func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { let cell: UsernameCollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! UsernameCollectionViewCell cell.usernameLabel.text = userNames [indexPath.row] return cell } //Upon Selecting an item func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) { if (indexPath.row == 0){ self.performSegueWithIdentifier("newUserSegue", sender: self) } else { sendData(userNames[indexPath.row]) self.dismissViewControllerAnimated(true, completion: nil) } } 

¡Lo tengo funcionando! Así es cómo:

  1. Agregué un button a la celda en el Storyboard.
  2. Conectó una salida a la class UICollectionViewCell.
  3. Código de controller de vista editado para:

     func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { let cell: UsernameCollectionViewCell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath) as! UsernameCollectionViewCell cell.usernameLabel.text = userNames [indexPath.row] cell.deleteButton?.layer.setValue(indexPath.row, forKey: "index") cell.deleteButton?.addTarget(self, action: "deleteUser:", forControlEvents: UIControlEvents.TouchUpInside) // Remove the button from the first cell if (indexPath.row == 0){ var close : UIButton = cell.viewWithTag(11) as! UIButton close.hidden = true } return cell } func deleteUser(sender:UIButton) { let i : Int = (sender.layer.valueForKey("index")) as! Int userNames.removeAtIndex(i) UserSelectCollection.reloadData() } 

Muchas gracias a JigarM por sus ejemplos en GitHub: https://github.com/JigarM/UICollectionView-Swift

¿Por qué no crear UICollectionViewCell personalizado en IB y simplemente agregarle un button? Regístralo a tu colecciónVer con:

 - registerNib:forCellReuseIdentifier: 

Puede usar delegado o notificación para pulsar el button de process.