   // ------------------------------------------------------------
   private var adjustedWidthConstraints: (left: Constraint?, right: Constraint?)
   private var minButtonWidth: CGFloat?
+  private var minButtonHeight: CGFloat?
   private var checkHeightOnce: dispatch_once_t = 0
   
   private var currentButtonState: FollowButtonState = .NotFollowing {

    self.adjustedWidthConstraints.left?.deactivate()
    self.adjustedWidthConstraints.right?.deactivate()
    self.buttonView.snp_updateConstraints { (make) -> Void in
      make.width.greaterThanOrEqualTo(self.minButtonWidth!)
    }
    self.setNeedsUpdateConstraints()
    

    // I don't know if this is the best solution, but it seems to work out well in this example
    dispatch_once(&checkHeightOnce) { () -> Void in
      self.minButtonWidth = self.frame.size.height
      self.minButtonHeight = self.minButtonWidth
      print("minBtnWid: \(self.minButtonWidth)")
    }
  }
