iOS ViewController that can auto adapt to the screen size, show/hide keyboard and config the navigationbar