         }
     }
     
-    required init(title: String, style: DOAlertActionStyle, handler: ((DOAlertAction!) -> Void)!) {
+    required public init(title: String, style: DOAlertActionStyle, handler: ((DOAlertAction!) -> Void)!) {
         self.title = title
         self.style = style
         self.handler = handler
         self.enabled = true
     }
     
-    func copyWithZone(zone: NSZone) -> AnyObject {
+    public func copyWithZone(zone: NSZone) -> AnyObject {
         let copy = self.dynamicType.init(title: title, style: style, handler: handler)
         copy.enabled = self.enabled
         return copy

        return UIScreen.mainScreen().bounds.size.width < UIScreen.mainScreen().bounds.size.height ? .Portrait : .LandscapeLeft
    }

    override func viewWillAppear(animated: Bool) {
        super.viewWillAppear(animated)
        layoutView()
    }
    
    override func viewDidAppear(animated: Bool) {
        super.viewDidAppear(animated)
        
        if (!isAlert() && cancelButtonTag != 0) {


// MARK: DOAlertAnimation Class

public class DOAlertAnimation : NSObject, UIViewControllerAnimatedTransitioning {

    let isPresenting: Bool
    
