         if let rootWindow = self.rootWindow { // if we have a display window
             if self.superview == nil {
                 
-                // add bar to display view controller
+                // add bar to display window
                 rootWindow.addSubview(self)
-                let constraints = self.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero, excludingEdge: ALEdge.Top)
-                self.heightConstraint = self.autoSetDimension(ALDimension.Height, toSize: CGFloat(0.0))
-                
-                self.bottomMarginConstraint = constraints[1]
+                self.setUpConstraints()
+            }
+        } else if let rootView = self.rootView { // fallback to displaying from view
+            if self.superview == nil {
+                
+                rootView.addSubview(self)
+                self.setUpConstraints()
             }
         }
         

        self.registerForNotifications()
    }
    
    required public init?(coder aDecoder: NSCoder) {
        
        _defaultLayout = CocoaBarDefaultLayout()

        if self.layoutContainer == nil {
            self.setUpComponents()
        }
    }
    
    private func setUpConstraints() {
        let constraints = self.autoPinEdgesToSuperviewEdgesWithInsets(UIEdgeInsetsZero, excludingEdge: ALEdge.Top)
        self.heightConstraint = self.autoSetDimension(ALDimension.Height, toSize: CGFloat(0.0))
        
        self.bottomMarginConstraint = constraints[1]
    }
    
    private func setUpComponents() {
