         Label shown when the activity indicator is running, if it's nil or the text it's empty nothing will show and the activity indicator will be placed in the middle of the dark view
     */
     let loadingLabel:UILabel
+    
+    private let activityIndicatorCenterInY:NSLayoutConstraint
     
     private let DARK_VIEW_CODER_KEY = "DARK_VIEW_CODER_KEY"
     private let ACTIVITY_INDICATOR_VIEW_CODER_KEY = "ACTIVITY_INDICATOR_VIEW_CODER_KEY"
     private let LOADING_LABEL_CODER_KEY = "LOADING_LABEL_CODER_KEY"
+    private let ACTIVITY_INDICATOR_CENTER_Y_CODER_KEY = "ACTIVITY_INDICATOR_CENTER_Y_CODER_KEY"
     
 //MARK: - Init Methods
     required init(coder aDecoder: NSCoder) {
         self.darkView = aDecoder.decodeObjectForKey(DARK_VIEW_CODER_KEY) as UIView
         self.activityIndicatorView = aDecoder.decodeObjectForKey(ACTIVITY_INDICATOR_VIEW_CODER_KEY) as UIActivityIndicatorView
         self.loadingLabel = aDecoder.decodeObjectForKey(LOADING_LABEL_CODER_KEY) as UILabel
+        self.activityIndicatorCenterInY = aDecoder.decodeObjectForKey(ACTIVITY_INDICATOR_CENTER_Y_CODER_KEY) as NSLayoutConstraint
         
         super.init(coder: aDecoder)
         

private let DARK_VIEW_HEIGHT:Float = 150
private let DARK_VIEW_WIDTH:Float = 150

private let ACTIVITY_INDICATOR_VIEW_HEIGHT:CGFloat = 65
private let ACTIVITY_INDICATOR_VIEW_WIDTH:CGFloat = 65

private let NUMBER_OF_LINES_LOADING_LINES = 2


        self.loadingLabel.text = ""
        
        //We add the subviews
        //self.darkView.addSubview(self.loadingLabel)
        self.darkView.addSubview(self.activityIndicatorView)
        
        //self.loadingLabel.setTranslatesAutoresizingMaskIntoConstraints(false)
        self.activityIndicatorView.setTranslatesAutoresizingMaskIntoConstraints(false)
        
        let viewsInDarkView = NSDictionary(objects: [self.loadingLabel,self.activityIndicatorView], forKeys: ["loadingLabel","activityIndicatorView"])
        let metricsInDarkView = ["activityIndicatorViewWidth":NSNumber(float: ACTIVITY_INDICATOR_VIEW_WIDTH),
                                 "activityIndicatorViewHeight":NSNumber(float: ACTIVITY_INDICATOR_VIEW_HEIGHT)] as NSDictionary
        
        self.darkView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("H:[activityIndicatorView(activityIndicatorViewWidth)]", options: NSLayoutFormatOptions(0), metrics: metricsInDarkView, views: viewsInDarkView))
        self.darkView.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("V:[activityIndicatorView(activityIndicatorViewHeight)]", options: NSLayoutFormatOptions(0), metrics: metricsInDarkView, views: viewsInDarkView))
        
        self.activityIndicatorCenterInY = NSLayoutConstraint(item:self.activityIndicatorView, attribute: .CenterY, relatedBy: .Equal, toItem: self.darkView, attribute: .CenterY, multiplier: 1.0, constant: 0)
        let centerInX:NSLayoutConstraint = NSLayoutConstraint(item:self.activityIndicatorView, attribute: .CenterX, relatedBy: .Equal, toItem: self.darkView, attribute: .CenterX, multiplier: 1.0, constant: 0)
        
        self.darkView.addConstraint(centerInX)
        self.darkView.addConstraint(self.activityIndicatorCenterInY)

        
        //Finally we call our super
        super.init(frame: CGRect(origin: CGPointZero, size: UIScreen.mainScreen().bounds.size))
