diff --git a/YALTourPullToRefresh/YALSunnyRefreshControll/YALSunnyRefreshControl.m b/YALTourPullToRefresh/YALSunnyRefreshControll/YALSunnyRefreshControl.m index c5c6df6..79b5f12 100755 --- a/YALTourPullToRefresh/YALSunnyRefreshControll/YALSunnyRefreshControl.m +++ b/YALTourPullToRefresh/YALSunnyRefreshControll/YALSunnyRefreshControl.m @@ -48,6 +48,9 @@ @interface YALSunnyRefreshControl () @property (nonatomic,assign) BOOL isSunRotating; @property (nonatomic,assign) BOOL forbidContentInsetChanges; +/* Record the original frame */ +@property (nonatomic, assign) UIEdgeInsets originalContentInset; + @end @implementation YALSunnyRefreshControl @@ -120,6 +123,13 @@ -(void)calculateShift{ if(self.scrollView.contentOffset.y <= -DefaultHeight){ + // Record Right now ~~ + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + self.originalContentInset = self.scrollView.contentInset; + NSLog(@"++%@", NSStringFromUIEdgeInsets(self.scrollView.contentInset)); + }); + if(self.scrollView.contentOffset.y < -SpringTreshold){ [self.scrollView setContentOffset:CGPointMake(0.f, -SpringTreshold)]; @@ -169,7 +179,11 @@ -(void)returnToDefaultState{ initialSpringVelocity:AnimationVelosity options:UIViewAnimationOptionCurveLinear animations:^{ - [self.scrollView setContentInset:UIEdgeInsetsMake(0, 0.f, 0.f, 0.f)]; + + // [self.scrollView setContentInset:UIEdgeInsetsMake(0, 0.f, 0.f, 0.f)]; + + // restore that original ContentInset ~ + [self.scrollView setContentInset:self.originalContentInset]; } completion:nil]; self.forbidSunSet = NO; [self stopSunRotating];