UIViewController类的init方法创建的controller其中自带的UIView会自动根据当前屏幕的大小去初始化UIView的大小,无需程序员手动管理,如果当前管理器存在于tabbar或navigation,应该为UIView添加autoresizingMask = UIViewAutoresizingFlexibleHeight属性,让其不能超过父视力的高,否则自动调整高。如果UIView中有其它子控件需要根据UIView变化而变化 ,那么也应该添加该属性。比如UITableView。这样以来当屏幕不同时,UIView大小不同,而根据其bounds初始化的UITableView的大小也会和屏幕一样,此时如果使用了tabbar或navigation的话UIView与tableView大小也会跟着改变,
需要注意的是 UIView的autoresizingMask的高宽自动调整默认是开着的,而tableView是关闭的,另外该属性起作用时已经是VIewDidLoad方法结束后,换句话说只有当viewDidLoad方法完全结束UIVIew的大小才是当前屏幕减去上bar下bar的后大小。如果要得到这个大小只能在viewDidLayoutSubviews等方法中获取