     
     // Pop buttons radius, if nil use center button size
     open var subButtonsRadius: CGFloat?
+    
+    // Show buttons event
+    open var showButtonsEvent: UIControlEvents = UIControlEvents.touchUpInside {
+        didSet {
+            addActions(newEvent: showButtonsEvent, oldEvent: oldValue)
+        }
+    }
 
     /// The object that acts as the delegate of the circle menu.
     @IBOutlet open var delegate: AnyObject? // CircleMenuDelegate?


    // MARK: configure

    fileprivate func addActions() {
        addTarget(self, action: #selector(CircleMenu.onTap), for: UIControlEvents.touchUpInside)
    }

    // MARK: actions

    @objc func onTap() {
        if buttonsIsShown() == false {
            let platform = createPlatform()
            buttons = createButtons(platform: platform)

        }
    }

    fileprivate func tapBounceAnimation(duration: TimeInterval, completion: ((Bool)->())? = nil) {
        transform = CGAffineTransform(scaleX: 0.9, y: 0.9)
        UIView.animate(withDuration: duration, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 5,
                       options: UIViewAnimationOptions.curveLinear,
                       animations: { () -> Void in
                           self.transform = CGAffineTransform(scaleX: 1, y: 1)
                       },
                       completion: completion)
    }

    fileprivate func tapRotatedAnimation(_ duration: Float, isSelected: Bool) {
