         return views
     }
 
-    func updateCancelContraints() {
+    func updateContraints() {
+        if self.controllerStyle == .ActionSheet {
+            self.updateContraintsForActionSheet()
+        } else if self.controllerStyle == .Alert {
+            self.updateContraintsForAlert()
+        }
+    }
+
+    func updateContraintsForActionSheet() {
         self.cancelGroupView.removeConstraints(self.cancelControlConstraints)
         self.cancelControlConstraints = self.constraintsForViews(self.cancelControls)
         self.cancelGroupView.addConstraints(self.cancelControlConstraints)
-    }
-
-    func updateActionContraints() {
+
         self.actionGroupView.removeConstraints(self.actionControlConstraints)
         self.actionControlConstraints = self.constraintsForViews(self.actionControlsWithTitle())
         self.actionGroupView.addConstraints(self.actionControlConstraints)
     }
 
+    func updateContraintsForAlert() {
+        var views: [UIView] = self.actionControlsWithTitle()
+        let cancelViews: [UIView] = self.cancelControls
+        views.insertContentsOf(cancelViews, at: 0)
+        self.actionGroupView.removeConstraints(self.actionControlConstraints)
+        self.actionControlConstraints = self.constraintsForViews(views)
+        self.actionGroupView.addConstraints(self.actionControlConstraints)
+    }
+
 
     // MARK: Control positioning
 
     private func setupGroupViews() {
+        if self.controllerStyle == .ActionSheet {
+            self.setupGroupViewsForActionSheet()
+        } else if self.controllerStyle == .Alert {
+            self.setupGroupViewsForAlert()
+        }
+    }
+
+    private func setupGroupViewsForActionSheet() {
         self.view.addSubview(self.actionGroupView)
         self.view.addSubview(self.cancelGroupView)
 

    private func updateUI() {
        self.view.removeConstraints(self.view.constraints)
        self.setupGroupViews()

        self.updateCancelContraints()
        self.updateActionContraints()
    }

    func handleTaps(sender: UIControl) {

    @IBInspectable public var cornerRadius: Int         = 10 {
        didSet { self.updateUI() }
    }

    private let controllerStyle: ControllerStyle

    public private(set) var actions: [AFMAction] = []
    public private(set) var actionControls: [UIControl] = []
