經(jīng)常把一個控制器init出來,但是卻有這個疑問,這個控制器的view的frame是什么樣子的,是否占據(jù)了整個屏幕?這個關(guān)系到是否要設(shè)置它的frame
要分情況討論:
如果是普通的UIViewController,它是占據(jù)整個屏幕的,x,y默認都是0,寬高就是屏幕的寬高
如果是UITableViewController,它不是占據(jù)整個屏幕的,x為0,y默認是20,寬是屏幕的寬,高度為屏幕的高度減去20
可以這樣測試,直接打印NSLog(@"%@",NSStringFromCGRect([[UIViewController alloc] init]));
打印結(jié)果是(0,0)(375,667)
NSLog(@"%@",NSStringFromCGRect([[UITableViewController alloc] init]));
打印結(jié)果是(0,20)(375,647)
UITableViewController 的view默認y值是20
ios7之前,所有的控制器的view的y值,不管是tableview還是普通的view,y值都是20,ios7之后才區(qū)別開
蘋果也真是用心良苦