         
         func show(_ completion: @escaping () -> Void) {
             showContent({
-                self.contentOffsetY = -self.contentHeight
+                switch self.position {
+                case .top:
+                    self.contentOffsetY = -self.contentHeight
+                case .bottom:
+                    self.contentOffsetY = self.contentHeight
+                }
                 self.setNeedsStatusBarAppearanceUpdate()
                 }) { _ in
                     completion()

            }
        }
        
        fileprivate lazy var panGesture: UIPanGestureRecognizer = UIPanGestureRecognizer(target: self, action: #selector(ViewController.panGestureAction(_:)))
        fileprivate var scrollPanGesture: UIPanGestureRecognizer? {
            return noticeView.gestureRecognizers?.filter({ $0 as? UIPanGestureRecognizer != nil }).first as? UIPanGestureRecognizer

            if let view = contentView {
                noticeView.frame.size.height = view.frame.height
                view.frame.size.width = noticeView.bounds.width
                view.autoresizingMask = .flexibleWidth
                noticeView.addSubview(view)
                view.setNeedsDisplay()
                
                noticeView.contentSize = noticeView.bounds.size
                switch position {
                case .top:
                    noticeView.contentInset.top = contentHeight
                    noticeView.frame.origin = .zero
                    view.frame.origin.y = -contentHeight
                case .bottom:
                    noticeView.contentInset.bottom = contentHeight
                    view.frame.origin.y = contentHeight
                    noticeView.frame.origin = CGPoint(x: 0, y: self.view.bounds.height - noticeView.bounds.height)
                }
            }
            
            show() {
                self.targetView?.addGestureRecognizer(self.panGesture)
