控制器的view默认是否占据整个屏幕

经常把一个控制器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之后才区别开

苹果也真是用心良苦

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,515评论 1 14
  • 1.OC里用到集合类是什么? 基本类型为:NSArray,NSSet以及NSDictionary 可变类型为:NS...
    轻皱眉头浅忧思阅读 1,393评论 0 3
  • /* UIViewController is a generic controller base class th...
    DanDanC阅读 1,844评论 0 2
  • 转自:https://www.jianshu.com/p/10b2323f502e 1、禁止手机睡眠 [UIApp...
    aggie1024阅读 2,685评论 0 6
  • 你的认真 不够认真 不然怎么还没遇到 他的心疼 他在远方 无所企及 你在等他 他没有勇气 你说缘分 有缘无份 他说...
    玉见阅读 93评论 0 1