         delegate.tags.insert("", atIndex: idx)
         let indexPath = NSIndexPath(forRow: idx, inSection: 0)
         collectionView.insertItemsAtIndexPaths([indexPath])
-        let cell = collectionView.cellForItemAtIndexPath(indexPath) as tagCell
-        cell.textField.becomeFirstResponder()
+        
+        UIView.animateWithDuration(0.2, animations: { () -> Void in
+          self.collectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .CenteredHorizontally, animated: false)
+        }, completion: { (complete) -> Void in
+          if let cell = self.collectionView.cellForItemAtIndexPath(indexPath) as? tagCell {
+            cell.textField.becomeFirstResponder()
+          }
+        })
         return false
       }
     }

  }
  
  func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return delegate.tags.count+1
  }
  
  func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {

      }
      delegate.tags[delegate.currentIndex] = textField.text
      textField.frame = CGRectMake(rectHold.origin.x, rectHold.origin.y, width, resultFrame.size.height)
      collectionView.scrollToItemAtIndexPath(NSIndexPath(forRow: delegate.currentIndex, inSection: 0), atScrollPosition: .CenteredHorizontally, animated: true)
    }
  }
}
