最近不少朋友在群里都询问说,ios8的坐标起点和ios9的起点不同,一个是从视图顶点开始算起的,一个则是从导航条下方开始算起的,因此也就导致了视图不同版本会出现坐标偏移,这是因为坐标原点发生了变化!
想看官方文档的请点这里:官方文档
原因:ios7后官方版本对视图做了留白控制,假如你用了系统的导航条,那么系统会自动把导航条的位置不算,让你坐标原点从64,开始算起。
解决方法:
self.automaticallyAdjustsScrollViewInsets = NO;//默认为yes,设为no会取消默认的留白空间,这样计算坐标原点就还是从视图顶端开始算起。
注:其实还有一些其他方面的解决方法,但是有点片面,不能解决所有问题,有限制我就不一一列举了!