I am trying to find a way to avoid keyboard to not block selected UITextField in dynamic UITableViews.
I am aware this is a common issue and there are a lot of answers to this. However, answers I found are either in Obj-C or not involving dynamic UITableView.
My table view being has its own UITableViewCell so UITextFields are connected to it.
Also, I want to refresh the cell when UITextField entry has been made. I can pass that info (I am guessing cell's IndexPath.row?) to the UIViewController and have it listen to change and apply reload cell method?
Here is the related code I have:
class favCell: UITableViewCell, UITextFieldDelegate {
    @IBOutlet weak var deciPadField: UITextField!
    @objc func doneClicked(){
        updateTotalWorth()
        deciPadField.resignFirstResponder()
        deciPadField.endEditing(true)
    }
    func textFieldDidBeginEditing(_ textField: UITextField) {
        deciPadField.becomeFirstResponder()
    }
    func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
        let currentString: NSString = (textField.text ?? "") as NSString
        let newString = currentString.replacingCharacters(in: range, with: string)
        return  newString.count <= 10
    }
    func textFieldShouldReturn(_ textField: UITextField) -> Bool {
        updateTotalWorth()
        deciPadField.resignFirstResponder()
        return true
    }
    private func textViewDidEndEditing(_ textView: UITextView) {
        updateTotalWorth()
        deciPadField.endEditing(true)
    }
}
UPDATE:
If I can access my ViewControllers view from UITableViewCell, below code will do the trick:
func animateTextField(textField: UITextField, up: Bool) {
    let movementDistance:CGFloat = -130
    let movementDuration: Double = 0.3
    var movement:CGFloat = 0
    if up {
        movement = movementDistance
    } else {
        movement = -movementDistance
    }
    UIView.beginAnimations("animateTextField", context: nil)
    UIView.setAnimationBeginsFromCurrentState(true)
    UIView.setAnimationDuration(movementDuration)
    // Below line giving error, could not find the view. My ListVC.view should be referred to.
    self.view.frame = self.view.frame.offsetBy(dx: 0, dy: movement)
    UIView.commitAnimations()
}
func textFieldDidBeginEditing(textField: UITextField) {
    self.animateTextField(textField: textField, up:true)
}
func textFieldDidEndEditing(textField: UITextField) {
    self.animateTextField(textField: textField, up:false)
}
Thank you!
