                 }
             }
         }
-
+        
         func addTextField(textField: UITextField) {
             textFields.append(textField)
             setupActionsForTextField(textField)

    // ContentView's size determines contentSize of ScrollView
    // By default, contentView has same size as ScrollView, to expand the contentSize, let subviews' constraints to determin all four edges
    var contentView: UIView!

    // These two values are used to backup original states
    var originalContentInset: UIEdgeInsets!
    var originalContentOffset: CGPoint!

        setupGestures()
        registerNotifications()
    }
    
    private func setupContentView() {
        contentView = ZHContentView()
        contentView.setTranslatesAutoresizingMaskIntoConstraints(false)
