             }
         }
 
-        _usesAutoLayout = _view.constraints.contains {
-            [.top, .left, .bottom, .right, .width, .height].contains($0.firstAttribute)
-        }
-
+        setUpAutoLayout()
         overrideExpressions()
         _ = updateVariables()
         updateObservers()

            _view.frame = frame
            _view.layer.transform = transform
        } else {
            _heightConstraint.constant = frame.height
            _heightConstraint.isActive = true
            _widthConstraint.constant = frame.width

                // position in the hierarchy

                _setupComplete = false

                (_widthConstraint as NSLayoutConstraint?).map {
                    oldView?.removeConstraint($0)
                    _widthConstraint = nil
                }
                (_heightConstraint as NSLayoutConstraint?).map {
                    oldView?.removeConstraint($0)
                    _heightConstraint = nil
                }

                unmount()
                if let parent = parent, let index = parent.children.index(of: self) {
                    oldView?.removeFromSuperview()
