关于ios7 navigationController中view的frame以及坐标点

今天做项目发现一个奇怪的问题;

在ios7下,

navigationController的viewframe为

{{0, 0}, {320, 568}}

导航不占位置了,这个清楚。

但是为毛view上面的子视图的y坐标计算是从64开始的呢?

譬如我设一个子视图的y坐标为0,它是从导航栏下面开始加载。

这就表示导航栏占了这个view的位置啊。

 

 

继续看:

发现,ios7下view的高度为568 屏幕大小为568;

但是:view的起始y坐标是64.坑爹啊。这样的话view会有一部分在窗口外,显示不完全。

这就导致计算最下面子视图的时间老是算错高度。

这是为毛。为毛。为毛啊。坑爹。

最后没有办法,只好接受这个现实。

计算最后一个子视图的时间多减去64的高度。

 [self loadStarViewWithFrame:CGRectMake(0, [self nextViewFrameY:m_ListView.frame], 320, self.view.frame.size.height - [self nextViewFrameY:m_ListView.frame] - ((iOS7)?64:0))];

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。