         }
         senderRect.origin.y = min(UIScreen.ft_height(), senderRect.origin.y)
         
-        if senderRect.origin.y + senderRect.size.height/2 < UIScreen.ft_height()/2 {
+        if popOverPosition == .alwaysAboveSender {
+            arrowDirection = .down
+        } else if popOverPosition == .alwaysUnderSender {
             arrowDirection = .up
         } else {
-            arrowDirection = .down
+            if senderRect.origin.y + senderRect.size.height/2 < UIScreen.ft_height()/2 {
+                arrowDirection = .up
+            } else {
+                arrowDirection = .down
+            }
         }
     }
     

    var done : ((_ selectedIndex : NSInteger) -> Void)!
    var cancel : (() -> Void)!
    var configuration = FTConfiguration()
    
    fileprivate lazy var backgroundView : UIView = {
        let view = UIView(frame: UIScreen.main.bounds)

fileprivate enum FTPopOverMenuArrowDirection {
    case up
    case down
}

public enum FTPopOverPosition{
    case automatic
    case alwaysAboveSender
    case alwaysUnderSender
}

public class FTPopOverMenu : NSObject {
