A couple adjustments to prevent flickering on Drop style ...

...when dismiss is called too soon.

There are two issues that occur when dismiss is called before show is complete. The first is the setting of the hud's position and transform immediately on calling dismiss which causes it to disappear for a moment until the dismiss animation kicks in.

The second is the completion block for the background fade which cleans up and hides the UIWindow containing the HUD causing it to disappear before it's off screen.   I've put in a delay if progress < 0.  It's a touch hack-ish but it's quite a sophisticated system and I'm hoping you might have a better solution :)

Love the drop-style by the way - perfect for my client project!  I'll let you know the app when it's out of NDA :)