控制器的view默认是否占据整个屏幕
2018-04-21 本文已影响0人
要加油啊小和尚
经常把一个控制器init出来,但是却有这个疑问,这个控制器的view的frame是什么样子的,是否占据了整个屏幕?这个关系到是否要设置它的frame
要分情况讨论:
如果是普通的UIViewController,它是占据整个屏幕的,x,y默认都是0,宽高就是屏幕的宽高
如果是UITableViewController,它不是占据整个屏幕的,x为0,y默认是20,宽是屏幕的宽,高度为屏幕的高度减去20
可以这样测试,直接打印NSLog(@"%@",NSStringFromCGRect([[UIViewController alloc] init]));
打印结果是(0,0)(375,667)
NSLog(@"%@",NSStringFromCGRect([[UITableViewController alloc] init]));
打印结果是(0,20)(375,647)
UITableViewController 的view默认y值是20
ios7之前,所有的控制器的view的y值,不管是tableview还是普通的view,y值都是20,ios7之后才区别开
苹果也真是用心良苦