iOS10系统 莫名的调用scrollviewdidscroll方法

假设有3个VC , vc1 、vc2 、vc3。vc2里面有UIscrollView或他的子类对象

vc1 push到 vc2 ,scrollviewdidscroll 会自动调用(在viewWillAppear之前调用)。正常情况下我们是希望viewWillAppear调用完之后,再调用scrollviewdidscroll方法。

vc2 push到 vc3 , scrollviewdidscroll 会自动调用(在viewWillDisappear之后调用) 正常情况下我们是希望viewWillDisappear调用完之后,不调用scrollviewdidscroll方法。

加上这句self.automaticallyAdjustsScrollViewInsets = NO;就好了

automaticallyAdjustsScrollViewInsets 的解释是

  1. 当你的viewcontroller里面有唯一的scrollView(或者子类对象)时。自动计算导航栏和状态栏的高度 让scrollView的(0,0)点在导航栏下面(不被导航栏遮住)。相当于(0,statusHeight+44)
  2. 为NO的时候会被导航栏遮住,(0,0)就是(0,0);

你可能感兴趣的:(iOS)