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

时间: 2024-08-11 03:36:02

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

一句话搞定IOS中View的Frame和Bound

就一句话,Frame是父View上看到子View的窗户,Bound是子View上可以被父View看见的内容. 稍微解释下.Frame 指子View在父View中的位置以及大小.由两部分构成,第一部分是Origin,规定了子View在父类的位置.第二部分是Size,指View在父类中的可视范围(这里能说是View的大小).这感觉像是在父View中在Frame.Origin位置打开一个窗户,窗户的大小是Frame.Size,从窗户中可以看到子View的内容. Bound 指子View自身显示那些内容

iOS 在使用UINavigationController和TabBarController时view的frame

可能是以前记错了,总认为在ios6上使用了UINavigationController或者TabBarController会因为多了bar而影响子controller的view的frame大小.今天在xcode5.1上验证,无论ios6或者7,使用容器controller,产生了的bar都不会对子controller的view的frame产生影响. 我们看看一个简单例子: 首先,可以看出,frame高度是568,没有收到bar的影响.其次Under top bars和under bottom b

Android 中View的绘制机制源码分析 一

尊重原创: http://blog.csdn.net/yuanzeyao/article/details/46765113 差不多半年没有写博客了,一是因为工作比较忙,二是觉得没有什么内容值得写,三是因为自己越来越懒了吧,不过最近我对Android中View的绘制机制有了一些新的认识,所以想记录下来并分享给大家.在之后的几篇博客中,我会给大家分享如下的内容: 1.View中measure(),layout(),draw()函数执行过程分析,带领大家详细分析View的尺寸测量过程,位置计算,并最终

UIView 中bounds和frame的差别

搞iOS开发的童鞋基本都会用过UIView,那他的bounds和frame两个属性也不会陌生,那这两个有什么实质性的区别呢? 先看到下面的代码你肯定就明白了一些: -(CGRect)frame{     returnCGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height); } -(CGRect)bounds{     returnCGRectMake(0,0,

ios view的frame和bounds之区别

一.首先列一下公认的资料: 先看到下面的代码你肯定就明白了一些: -(CGRect)frame{     return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height); } -(CGRect)bounds{     return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);

使用SWTableViewCell获得ios7邮件中cell的右推出现选项的效果

SWTableViewCell 是托管在GitHub上的一个第三方UITableViewCell子类,它提供向左向右滑动出现“删除”,“更多”等自定义UIButton的功能,该功能类似于iOS7中的邮件中的Cell.GitHub主页: https://github.com/CEWendel/SWTableViewCell Example: 场景:假如我现在要做一个TableView,它的cell就是SWTableViewCell的效果. ViewController.h #import <UIK

ios view的frame和bounds之区别(位置和大小)

[转载]http://blog.csdn.net/mad1989/article/details/8711697前言: 学习iOS开发有一段时间了,项目也做了两个了,今天看视频,突然发现view的frame和bound两个属性,发现bound怎么也想不明白,好像饶你了死胡同里,经过一番尝试和思考,终于弄明白bound的含义.PS:我承认我是一个很笨很笨的人. 所以现在记录下来,供以后查阅,同时方便所有和我一样有疑惑的人查看. 一.首先列一下公认的资料: 先看到下面的代码你肯定就明白了一些:-(C

iOS view的frame和bounds

一.首先列一下公认的资料: 先看到下面的代码你肯定就明白了一些:-(CGRect)frame{    return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height);}-(CGRect)bounds{    return CGRectMake(0,0,self.frame.size.width,self.frame.size.height);}很明显,b

iOS View的Frame和bounds之区别,setbounds使用(深入探究)

前言: 在ios开发中经常遇到两个词Frame和bounds,本文主要阐述Frame和bound的区别,尤其是bound很绕,较难理解. 一.首先,看一下公认的资料: 先看到下面的代码你肯定就明白了一些: -(CGRect)frame{ return CGRectMake(self.frame.origin.x,self.frame.origin.y,self.frame.size.width,self.frame.size.height); } -(CGRect)bounds{ return