Browse Source

fixcoding

marinofaggiana 3 years ago
parent
commit
02b9c2be3a

+ 30 - 1
iOSClient/Login/NCLogin.swift

@@ -38,6 +38,8 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
     private let appDelegate = UIApplication.shared.delegate as! AppDelegate
     private var textColor: UIColor = .white
     private var textColorOpponent: UIColor = .black
+    private var activeTextfieldDiff: CGFloat = 0
+    private var activeTextField = UITextField()
 
     // MARK: - View Life Cycle
 
@@ -140,8 +142,35 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
         return false
     }
     
+    func textFieldDidBeginEditing(_ textField: UITextField) {
+   
+        self.activeTextField = textField
+    }
+        
     // MARK: - Keyboard notification
     
+    @objc internal func keyboardWillShow(_ notification : Notification?) {
+                
+        activeTextfieldDiff = 0
+        
+        if let info = notification?.userInfo, let centerObject = self.activeTextField.superview?.convert(self.activeTextField.center, to: nil) {
+
+            let frameEndUserInfoKey = UIResponder.keyboardFrameEndUserInfoKey
+            if let keyboardFrame = info[frameEndUserInfoKey] as? CGRect {
+                let diff = keyboardFrame.origin.y - centerObject.y - (self.activeTextField.frame.height / 2)
+                if diff < 0 {
+                    activeTextfieldDiff = diff
+                    imageBrandConstraintY.constant += diff
+                }
+            }
+        }
+    }
+    
+    @objc func keyboardWillHide(_ notification: Notification) {
+        imageBrandConstraintY.constant -= activeTextfieldDiff
+    }
+    
+    /*
     @objc internal func keyboardWillShow(_ notification : Notification?) {
                 
         imageBrandConstraintY.constant = -(self.view.frame.height / 4)
@@ -151,7 +180,7 @@ class NCLogin: UIViewController, UITextFieldDelegate, NCLoginQRCodeDelegate {
         
         imageBrandConstraintY.constant = 0
     }
-    
+    */
     // MARK: - Action
 
     @objc func actionCancel() {

+ 5 - 5
iOSClient/Share/NCShareLinkMenuView.swift

@@ -76,7 +76,7 @@ class NCShareLinkMenuView: UIView, UIGestureRecognizerDelegate, UITextFieldDeleg
     var viewWindow: UIView?
     var viewWindowCalendar: UIView?
     private var calendar: FSCalendar?
-    private var selfFrameOriginYDiff: CGFloat = 0
+    private var activeTextfieldDiff: CGFloat = 0
     private var activeTextField = UITextField()
 
     override func awakeFromNib() {
@@ -241,7 +241,7 @@ class NCShareLinkMenuView: UIView, UIGestureRecognizerDelegate, UITextFieldDeleg
     
     @objc internal func keyboardWillShow(_ notification : Notification?) {
                 
-        selfFrameOriginYDiff = 0
+        activeTextfieldDiff = 0
         
         if let info = notification?.userInfo, let centerObject = self.activeTextField.superview?.convert(self.activeTextField.center, to: nil) {
 
@@ -249,15 +249,15 @@ class NCShareLinkMenuView: UIView, UIGestureRecognizerDelegate, UITextFieldDeleg
             if let keyboardFrame = info[frameEndUserInfoKey] as? CGRect {
                 let diff = keyboardFrame.origin.y - centerObject.y - (self.activeTextField.frame.height / 2)
                 if diff < 0 {
-                    selfFrameOriginYDiff = diff
-                    self.frame.origin.y += selfFrameOriginYDiff
+                    activeTextfieldDiff = diff
+                    self.frame.origin.y += diff
                 }
             }
         }
     }
     
     @objc func keyboardWillHide(_ notification: Notification) {
-        self.frame.origin.y -= selfFrameOriginYDiff
+        self.frame.origin.y -= activeTextfieldDiff
     }
     
     // MARK: - Tap viewWindowCalendar

+ 6 - 5
iOSClient/Share/NCShareUserMenuView.swift

@@ -63,7 +63,7 @@ class NCShareUserMenuView: UIView, UIGestureRecognizerDelegate, UITextFieldDeleg
     var viewWindow: UIView?
     var viewWindowCalendar: UIView?
     private var calendar: FSCalendar?
-    private var selfFrameOriginYDiff: CGFloat = 0
+    private var activeTextfieldDiff : CGFloat = 0
     private var activeTextField = UITextField()
 
     override func awakeFromNib() {
@@ -184,7 +184,7 @@ class NCShareUserMenuView: UIView, UIGestureRecognizerDelegate, UITextFieldDeleg
     
     @objc internal func keyboardWillShow(_ notification : Notification?) {
                 
-        selfFrameOriginYDiff = 0
+        activeTextfieldDiff = 0
         
         if let info = notification?.userInfo, let centerObject = self.activeTextField.superview?.convert(self.activeTextField.center, to: nil) {
 
@@ -192,18 +192,19 @@ class NCShareUserMenuView: UIView, UIGestureRecognizerDelegate, UITextFieldDeleg
             if let keyboardFrame = info[frameEndUserInfoKey] as? CGRect {
                 let diff = keyboardFrame.origin.y - centerObject.y - (self.activeTextField.frame.height / 2)
                 if diff < 0 {
-                    selfFrameOriginYDiff = diff
-                    self.frame.origin.y += selfFrameOriginYDiff
+                    activeTextfieldDiff = diff
+                    self.frame.origin.y += diff
                 }
             }
         }
     }
     
     @objc func keyboardWillHide(_ notification: Notification) {
-        self.frame.origin.y -= selfFrameOriginYDiff
+        self.frame.origin.y -= activeTextfieldDiff
     }
     
     // MARK: - Tap viewWindowCalendar
+    
     @objc func tapViewWindowCalendar(gesture: UITapGestureRecognizer) {
         calendar?.removeFromSuperview()
         viewWindowCalendar?.removeFromSuperview()