             UIGraphicsEndImageContext();
             instance.image = image;
         }
+        image?.imageWithRenderingMode(.AlwaysTemplate)
+        
         if let window = instance.application?.keyWindow {
             for subview in instance.subviews {
                 subview.removeFromSuperview()

    func swizzledDescription() -> String {
        return self.swizzledDescription() + "; " + self.swizzlingMessage
    }
}

public class MZRPresentationView: UIView {

            }
        }
        
        func createTouchView(touch: UITouch) -> UIImageView {
            let view = TouchView(frame: CGRectMake(0.0, 0.0, self.touchViewSize.width, self.touchViewSize.height))
            view.touch = touch
            view.image = self.image
            view.tintColor = self.color
            self.touchViews.append(view)
            return view
        }
        
        func findTouchView(touch: UITouch) -> TouchView? {
            for view in self.touchViews {
                if view.touch == touch {
                    return view
                }
            }
            return nil
        }
        
        for touch in event.allTouches()?.allObjects as [UITouch] {
            
            let phase = touch.phase
            switch phase {
            case .Began:
                let view = createTouchView(touch)
                view.center = touch.locationInView(self)
                self.addSubview(view)
            case .Moved:
                if let view = findTouchView(touch) {
                    view.center = touch.locationInView(self)
                }
            case .Stationary:
                break
            case .Ended, .Cancelled:
                if let view = findTouchView(touch) {
                    let index = find(self.touchViews, view)
                    self.touchViews.removeAtIndex(index!)
                    UIView.animateWithDuration(0.1, animations: { () -> Void in
                        view.alpha = 0.0
                    }, completion: { (finished) -> Void in
