title: Keyboard covers text fields at the bottom of my view
body: <p>I have searched </p>
  
  <p>here: <a href="https://stackoverflow.com/questions/28813339/move-a-view-up-only-when-the-keyboard-covers-an-input-field?noredirect=1&amp;lq=1">Move a view up only when the keyboard covers an input field</a></p>
  
  <p>here: <a href="https://stackoverflow.com/questions/25693130/move-textfield-when-keyboard-appears-swift">Move textfield when keyboard appears swift</a></p>
  
  <p>here: <a href="https://stackoverflow.com/questions/1126726/how-to-make-a-uitextfield-move-up-when-keyboard-is-present?rq=1">How to make a UITextField move up when keyboard is present?</a></p>
  
  <p>and here: <a href="https://developer.apple.com/library/content/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html" rel="noreferrer">https://developer.apple.com/library/content/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/KeyboardManagement/KeyboardManagement.html</a></p>
  
  <p>Unfortunately, all of the links and seemingly everywhere else I can find do not give a good clean solution that I am looking for. They are either outdated with Obj-c code, or plain do not work in the current iteration of <em>Xcode 9</em> with <em>Swift 4</em>. </p>
  
  <p><strong>How do I manage a keyboard that is covering text fields at the bottom of my view?</strong> I want the screen's view to move only when they keyboard is covering the text field view, without using a scroll view, with the ability to animate this to make it look pretty rather than have it just snap, and most importantly <em>I do not want to use an outside library</em>.</p>
  
  <p>CoreAnimation libraries from Apple are great and all, but all of the sample code is outdated and in objective c which is deprecated at this point (I cannot believe that Apple isn't updating their documentation).</p>
  
  <p>If someone could point me in the right direction to updated and current code or a library from Apple I am missing that will specifically address this issue, it would be much appreciated.</p>