xib的size 设置为Freeform时

View的height设置为60

viewDidLoad 中 打印frame是不准的

viewDidLayoutSubviews 方法内打印是准的

看打印结果
2018-06-05 08:46:31.199644+0800 百思不得姐[1533:49842] view Did Load :header{{0, 0}, {375, 60}}
2018-06-05 08:46:31.205056+0800 百思不得姐[1533:49842] view Did Load :footer{{0, 40}, {375, 50}}
2018-06-05 08:46:31.222222+0800 百思不得姐[1533:49842] viewDidLayoutSubviews:header{{0, -40}, {375, 60}}
2018-06-05 08:46:31.222400+0800 百思不得姐[1533:49842] viewDidLayoutSubviews:footer{{0, 40}, {375, 50}}
2018-06-05 08:46:31.226167+0800 百思不得姐[1533:49842] viewDidLayoutSubviews:header{{0, -40}, {375, 60}}
2018-06-05 08:46:31.226343+0800 百思不得姐[1533:49842] viewDidLayoutSubviews:footer{{0, 40}, {375, 50}}
2018-06-05 08:46:31.380247+0800 百思不得姐[1533:49842] viewDidLayoutSubviews:header{{0, -40}, {375, 60}}
2018-06-05 08:46:31.380729+0800 百思不得姐[1533:49842] viewDidLayoutSubviews:footer{{0, 40}, {375, 50}}
注意

Interface Builder Document 中的User Safe Area Layout Guides 一定不能勾线 不然的话 会出现 在viewDidLayoutSubviews方法内打印xib的frame的高度会多出20
网友评论