 		return true
 	}
 
-	private override func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes! {
-		let attributes = super.layoutAttributesForItemAtIndexPath(indexPath)
-		switch self.delegate.pickerViewStyleForCollectionViewLayout(self) {
-		case .Flat:
-			return attributes
-		case .Wheel:
-			let distance = CGRectGetMidX(attributes.frame) - self.midX;
-			let currentAngle = self.maxAngle * distance / self.width / CGFloat(M_PI_2);
-			var transform = CATransform3DIdentity;
-			transform = CATransform3DTranslate(transform, -distance, 0, -self.width);
-			transform = CATransform3DRotate(transform, currentAngle, 0, 1, 0);
-			transform = CATransform3DTranslate(transform, 0, 0, self.width);
-			attributes.transform3D = transform;
-			attributes.alpha = fabs(currentAngle) < self.maxAngle ? 1.0 : 0.0;
-			return attributes;
-		}
-	}
-
-	private override func layoutAttributesForElementsInRect(rect: CGRect) -> [AnyObject]? {
+	private override func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath) -> UICollectionViewLayoutAttributes? {
+        if let attributes = super.layoutAttributesForItemAtIndexPath(indexPath) {
+            switch self.delegate.pickerViewStyleForCollectionViewLayout(self) {
+            case .Flat:
+                return attributes
+            case .Wheel:
+                let distance = CGRectGetMidX(attributes.frame) - self.midX;
+                let currentAngle = self.maxAngle * distance / self.width / CGFloat(M_PI_2);
+                var transform = CATransform3DIdentity;
+                transform = CATransform3DTranslate(transform, -distance, 0, -self.width);
+                transform = CATransform3DRotate(transform, currentAngle, 0, 1, 0);
+                transform = CATransform3DTranslate(transform, 0, 0, self.width);
+                attributes.transform3D = transform;
+                attributes.alpha = fabs(currentAngle) < self.maxAngle ? 1.0 : 0.0;
+                return attributes;
+            }
+        }
+        
+        return nil
+	}
+
+	private func layoutAttributesForElementsInRect(rect: CGRect) -> [AnyObject]? {
 		switch self.delegate.pickerViewStyleForCollectionViewLayout(self) {
 		case .Flat:
 			return super.layoutAttributesForElementsInRect(rect)

		self.initialize()
	}

	required init(coder aDecoder: NSCoder) {
		super.init(coder: aDecoder)
		self.initialize()
	}

		self.collectionView.showsHorizontalScrollIndicator = false
		self.collectionView.backgroundColor = UIColor.clearColor()
		self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
		self.collectionView.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]
		self.collectionView.dataSource = self
		self.collectionView.registerClass(
			AKCollectionViewCell.self,
