         var itemHeight: CGFloat = 0
         for item in items {
             if item.isHidden == true { continue }
-            itemHeight += item.size + itemSpace
+            if verticalDirection == .up {
+                itemHeight += item.size + itemSpace
+            } else {
+                itemHeight -= item.size + itemSpace
+            }
             item.frame.origin.y = -itemHeight
             item.alpha = 1
         }

            if item.isHidden == true { continue }
            itemHeight += item.size + itemSpace
            item.frame.origin.x = UIScreen.main.bounds.size.width - frame.origin.x
            item.frame.origin.y = -itemHeight
            group.enter()
            UIView.animate(withDuration: 0.3, delay: delay,
                                       usingSpringWithDamping: 0.55,

        var itemHeight: CGFloat = 0
        for item in items {
            if item.isHidden == true { continue }
            if verticalDirection == .up {
                itemHeight += item.size + itemSpace
            } else {
                itemHeight -= item.size + itemSpace
            }
            group.enter()
            UIView.animate(withDuration: 0.2, delay: 0, options: [], animations: { () -> Void in
                                        item.frame.origin.y = itemHeight
