要实现点击电池条的时候立即回到页面的顶部的时候注意:
只有当一个主控制器有一个scrollview 并把这个属性设置为yes,其他的scrollview.scrollsToTop = NO 这样才会响应这个事件,原理很简单,如果有2个scrollview,系统根本不知道你需要哪个滚动到最上面 切记!
滑动页面的时候,改变scrollerView 的背景色:
1、遵循协议:<UIScrollViewDelegate> 2、写成私有变量 // 优化页面的拖拽的时候使用 CGFloat _contentOffsetY; CGFloat _oldContentOffsetY; CGFloat _newContentOffsetY; 3、执行方法 #pragma mark—————— 优化页面的拖拽的时候使用(开始) // 开始拖拽页面 -(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ _contentOffsetY = scrollView.contentOffset.y; if (_contentOffsetY <= 0) {//确保在向上快拖的时候,底部色值不抖动 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_NAV_BGC); //NSLog(@" %s 【_contentOffsetY】= %.2f ",__FUNCTION__,_contentOffsetY); } } //滚动时候调用该方法(手指离开屏幕后) -(void)scrollViewDidScroll:(UIScrollView *)scrollView{ _newContentOffsetY = scrollView.contentOffset.y; // 滚动 if (_newContentOffsetY > _oldContentOffsetY && _oldContentOffsetY > _contentOffsetY) { // 向上滚动 if (_newContentOffsetY > 0) {// 确保,上下抖动的时候,顶部不抖色 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_ROOT_BGC); } } else if (_newContentOffsetY < _oldContentOffsetY && _oldContentOffsetY < _contentOffsetY) { // 向下滚动 if (_newContentOffsetY < 0) {// 确保,上下抖动的时候,底部不抖色 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_NAV_BGC); //NSLog(@" %s ",__FUNCTION__); } } // 拖拽 if (scrollView.dragging) { if ((scrollView.contentOffset.y - _contentOffsetY) > 5.0f) { // 向上拖拽 //NSLog(@" %s 【_newContentOffsetY】 = %.2f ",__FUNCTION__,_newContentOffsetY); if (_newContentOffsetY > 0) {// 确保,上下抖动的时候,顶部不抖色 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_ROOT_BGC); } } else if ((_contentOffsetY - scrollView.contentOffset.y) > 5.0f) { // 向下拖拽 if (_newContentOffsetY < 0) {// 确保,上下抖动的时候,底部不抖色 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_NAV_BGC); //NSLog(@" %s ",__FUNCTION__); } } } } // 确实结束减速 -(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ //NSLog(@" 【_newContentOffsetY】 = %.2f ",_newContentOffsetY); if (_newContentOffsetY > 0) {//确保在向上快拖的时候,顶部色值不抖动 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_ROOT_BGC); } _newContentOffsetY = 0.0f; } // 完成拖拽(滚动停止时,调用此方法,手指离开屏幕前) - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{ _oldContentOffsetY = scrollView.contentOffset.y; } #pragma mark—————— 优化页面的拖拽的时候使用(结束)