     }
     
     /**
+     Hides an active toast.
+     
+     @param toast The active toast view to dismiss. Any toast that is currently being displayed
+     on the screen is considered active.
+     
+     @warning this does not clear a toast view that is currently waiting in the queue.
+     */
+    public func hideToast(_ toast: UIView) {
+        guard activeToasts.contains(toast) else { return }
+        hideToast(toast, fromTap: false)
+    }
+    
+    /**
      Hides all toast views and clears the queue.
      
      @param includeActivity If `true`, toast activity will also be hidden. Default is `false`.
     */
     public func hideAllToasts(includeActivity: Bool = false) {
-        queue.removeAllObjects()
+        clearQueue()
         
         activeToasts.flatMap { $0 as? UIView }
                     .forEach { hideToast($0) }

        if includeActivity {
            hideToastActivity()
        }
    }
    
    // MARK: - Activity Methods

            RunLoop.main.add(timer, forMode: RunLoopMode.commonModes)
            objc_setAssociatedObject(toast, &ToastKeys.timer, timer, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
        }
    }
    
    private func hideToast(_ toast: UIView, fromTap: Bool) {
