           effectView.isUserInteractionEnabled = false
           self.blackOverlay.addSubview(effectView)
         } else {
-          self.blackOverlay.backgroundColor = self.blackOverlayColor
+          if !self.highlightFromView {
+            self.blackOverlay.backgroundColor = self.blackOverlayColor
+          }
           self.blackOverlay.alpha = 0
         }
 

    case .down:
        point = inView.convert(CGPoint(x: fromView.frame.origin.x + (fromView.frame.size.width / 2), y: fromView.frame.origin.y + fromView.frame.size.height), from: fromView.superview)
    }
    self.show(contentView, point: point, inView: inView)
  }


    self.frame = frame
  }

  fileprivate func createHighlightLayer(fromView: UIView, inView: UIView) {
    let path = UIBezierPath(rect: inView.bounds)
    let highlightRect = inView.convert(fromView.frame, from: fromView.superview)
    let highlightPath = UIBezierPath(roundedRect: highlightRect, cornerRadius: self.highlightCornerRadius)
    path.append(highlightPath)
    path.usesEvenOddFillRule = true

    let fillLayer = CAShapeLayer()
    fillLayer.path = path.cgPath
    fillLayer.fillRule = kCAFillRuleEvenOdd
    fillLayer.fillColor = self.blackOverlayColor.cgColor
    self.blackOverlay.layer.addSublayer(fillLayer)
  }

  open func showAsDialog(_ contentView: UIView) {
    self.showAsDialog(contentView, inView: UIApplication.shared.keyWindow!)
  }
