Updated solution to use TPKeyboardAvoiding