关于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))];

 

posted on 2014-09-19 17:46  三十一  阅读(318)  评论(0编辑  收藏  举报

导航