         let submitButton = UIButton(frame: CGRectMake(buttonWidth, self.frame.size.height - buttonHeight, buttonWidth, buttonHeight))
         let submitButtonTxt = (self.submitButtonText ?? "OK")
         submitButton.setTitle(submitButtonTxt as String, forState: UIControlState.Normal)
-        submitButton.addTarget(self, action: "submitButtonTapped", forControlEvents: .TouchUpInside)
+      submitButton.addTarget(self, action: #selector(self.submitButtonTapped), forControlEvents: .TouchUpInside)
         submitButton.titleLabel?.font = UIFont.systemFontOfSize(16)
         submitButton.setTitleColor((self.blurEffectStyle == .Dark) ? UIColor.whiteColor() : UIColor.blackColor(), forState: .Normal)
         submitButton.setTitleColor(UIColor.grayColor(), forState: .Highlighted)

        
        if self.style == .NumberInput {
            self.textInput?.keyboardType = .NumberPad
            self.textInput?.addTarget(self, action: "textInputDidChange", forControlEvents: .EditingChanged)
            
            /**
            *  Validation Label

        
        // Rotation support
        UIDevice.currentDevice().beginGeneratingDeviceOrientationNotifications()
      NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.deviceOrientationDidChange), name: UIDeviceOrientationDidChangeNotification, object: nil)
        
        // Keyboard
      NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardDidShow), name: UIKeyboardDidShowNotification, object: nil)
      NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.keyboardDidHide), name: UIKeyboardDidHideNotification, object: nil)
    }
    
    /**
