modified so that the keyboard is shown properly, and the view is adjusted properly when the keyboard is hidden.