the keyboard frame change should be put in orientation change method instead of layoutsubviews