     
     override public init(frame: CGRect, collectionViewLayout layout: UICollectionViewLayout) {
         super.init(frame: frame, collectionViewLayout: layout)
+        self._init()
     }
     
     required public init?(coder aDecoder: NSCoder) {
-        fatalError("init(coder:) has not been implemented")
+        super.init(coder: aDecoder)
+        self._init()
+    }
+    
+    private func _init() {
+        self.collectionViewLayout = self.collectionViewFlowLayout(self.numberOfCells)
+        self.enableGesture()
     }
     
     func pinch(gesture: UIPinchGestureRecognizer) {

    
}

// MARK: ResizableCollectionView
public class ResizableCollectionView: UICollectionView {
    
    /// ResizableCollectionViewDelegate

    
}

// MARK: - ResizableCollectionViewDelegate - default implementation
extension ResizableCollectionViewDelegate {
    
    func willPinchIn(collectionView: ResizableCollectionView) {
