view frame问题

viewcontroller的view的orgin从哪计算?size是多少?

1、没有导航控制器:
没有xib

2017-03-29 23:01:03.504 ViewFrame[2931:42322] loadView,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:01:03.504 ViewFrame[2931:42322] viewDidLoad,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:01:03.505 ViewFrame[2931:42322] viewWillAppear:,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:01:03.506 ViewFrame[2931:42322] viewWillLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:01:03.507 ViewFrame[2931:42322] viewDidLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:01:03.507 ViewFrame[2931:42322] viewWillLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:01:03.507 ViewFrame[2931:42322] viewDidLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:01:03.509 ViewFrame[2931:42322] viewDidAppear:,    frame: {{0, 0}, {414, 736}}

有xib

2017-03-29 23:20:51.185 ViewFrame[3386:55374] loadView,    frame: {{0, 0}, {375, 667}}
2017-03-29 23:20:51.185 ViewFrame[3386:55374] viewDidLoad,    frame: {{0, 0}, {375, 667}}
2017-03-29 23:20:51.186 ViewFrame[3386:55374] viewWillAppear:,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:20:51.189 ViewFrame[3386:55374] viewWillLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:20:51.190 ViewFrame[3386:55374] viewDidLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:20:51.193 ViewFrame[3386:55374] viewDidAppear:,    frame: {{0, 0}, {414, 736}}

2、有导航控制器,导航条translucent YES透明的

2017-03-29 23:04:28.794 ViewFrame[2997:44793] loadView,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:04:28.795 ViewFrame[2997:44793] viewDidLoad,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:04:28.796 ViewFrame[2997:44793] viewWillAppear:,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:04:28.798 ViewFrame[2997:44793] viewWillLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:04:28.801 ViewFrame[2997:44793] viewDidLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:04:28.802 ViewFrame[2997:44793] viewWillLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:04:28.802 ViewFrame[2997:44793] viewDidLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:04:28.810 ViewFrame[2997:44793] viewDidAppear:,    frame: {{0, 0}, {414, 736}}

有xib

2017-03-29 23:22:02.950 ViewFrame[3408:55992] loadView,    frame: {{0, 0}, {375, 667}}
2017-03-29 23:22:02.952 ViewFrame[3408:55992] viewDidLoad,    frame: {{0, 0}, {375, 667}}
2017-03-29 23:22:02.952 ViewFrame[3408:55992] viewWillAppear:,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:22:02.958 ViewFrame[3408:55992] viewWillLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:22:02.959 ViewFrame[3408:55992] viewDidLayoutSubviews,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:22:02.962 ViewFrame[3408:55992] viewDidAppear:,    frame: {{0, 0}, {414, 736}}

3、有导航控制器,导航条不透明

2017-03-29 23:03:18.590 ViewFrame[2969:43893] loadView,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:03:18.590 ViewFrame[2969:43893] viewDidLoad,    frame: {{0, 0}, {414, 736}}
2017-03-29 23:03:18.591 ViewFrame[2969:43893] viewWillAppear:,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:03:18.593 ViewFrame[2969:43893] viewWillLayoutSubviews,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:03:18.593 ViewFrame[2969:43893] viewDidLayoutSubviews,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:03:18.594 ViewFrame[2969:43893] viewWillLayoutSubviews,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:03:18.594 ViewFrame[2969:43893] viewDidLayoutSubviews,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:03:18.598 ViewFrame[2969:43893] viewDidAppear:,    frame: {{0, 64}, {414, 672}}

有xib

2017-03-29 23:22:53.227 ViewFrame[3426:56749] loadView,    frame: {{0, 0}, {375, 667}}
2017-03-29 23:22:53.228 ViewFrame[3426:56749] viewDidLoad,    frame: {{0, 0}, {375, 667}}
2017-03-29 23:22:53.228 ViewFrame[3426:56749] viewWillAppear:,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:22:53.230 ViewFrame[3426:56749] viewWillLayoutSubviews,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:22:53.230 ViewFrame[3426:56749] viewDidLayoutSubviews,    frame: {{0, 64}, {414, 672}}
2017-03-29 23:22:53.234 ViewFrame[3426:56749] viewDidAppear:,    frame: {{0, 64}, {414, 672}}

3、总结
导航器透明
0,0

导航条不透明
0,64

不用xib,
size.height不正确,没有把64算进去

用xib
size的width和height都不正确,时刻为xib或是sb设置的view的大小

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

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,846评论 1 92
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,573评论 1 14
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,276评论 4 61
  • 一 他是她的二房东,在大学毕业的那年他在本地的论坛上将房子租给了她。 他总是白天在家睡觉,晚上出去工作。起初的两个...
    故寒阅读 315评论 1 0
  • 简悦直播教练恬源阅读 264评论 0 3