scrollerView 滚动的时候改变 scrollerView 的背景色代码
要实现点击电池条的时候立即回到页面的顶部的时候注意:
只有当一个主控制器有一个scrollview 并把这个属性设置为yes,其他的scrollview.scrollsToTop = NO 这样才会响应这个事件,原理很简单,如果有2个scrollview,系统根本不知道你需要哪个滚动到最上面 切记!
滑动页面的时候,改变scrollerView 的背景色:
、遵循协议:<UIScrollViewDelegate> 、写成私有变量
// 优化页面的拖拽的时候使用
CGFloat _contentOffsetY;
CGFloat _oldContentOffsetY;
CGFloat _newContentOffsetY; 、执行方法
#pragma mark—————— 优化页面的拖拽的时候使用(开始)
// 开始拖拽页面
-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
_contentOffsetY = scrollView.contentOffset.y;
if (_contentOffsetY <= ) {//确保在向上快拖的时候,底部色值不抖动 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_NAV_BGC);
//NSLog(@"\n\n %s 【_contentOffsetY】= %.2f \n",__FUNCTION__,_contentOffsetY);
}
}
//滚动时候调用该方法(手指离开屏幕后)
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ _newContentOffsetY = scrollView.contentOffset.y; // 滚动
if (_newContentOffsetY > _oldContentOffsetY && _oldContentOffsetY > _contentOffsetY) { // 向上滚动
if (_newContentOffsetY > ) {// 确保,上下抖动的时候,顶部不抖色
scrollView.backgroundColor = K_SET_COLOR_VALUE(K_ROOT_BGC);
} } else if (_newContentOffsetY < _oldContentOffsetY && _oldContentOffsetY < _contentOffsetY) { // 向下滚动
if (_newContentOffsetY < ) {// 确保,上下抖动的时候,底部不抖色 scrollView.backgroundColor = K_SET_COLOR_VALUE(K_NAV_BGC);
//NSLog(@"\n\n %s \n",__FUNCTION__);
} } // 拖拽
if (scrollView.dragging) {
if ((scrollView.contentOffset.y - _contentOffsetY) > 5.0f) { // 向上拖拽 //NSLog(@"\n\n %s 【_newContentOffsetY】 = %.2f \n",__FUNCTION__,_newContentOffsetY);
if (_newContentOffsetY > ) {// 确保,上下抖动的时候,顶部不抖色
scrollView.backgroundColor = K_SET_COLOR_VALUE(K_ROOT_BGC);
} } else if ((_contentOffsetY - scrollView.contentOffset.y) > 5.0f) { // 向下拖拽 if (_newContentOffsetY < ) {// 确保,上下抖动的时候,底部不抖色
scrollView.backgroundColor = K_SET_COLOR_VALUE(K_NAV_BGC);
//NSLog(@"\n\n %s \n",__FUNCTION__);
} }
}
}
// 确实结束减速
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ //NSLog(@"\n\n【_newContentOffsetY】 = %.2f \n",_newContentOffsetY);
if (_newContentOffsetY > ) {//确保在向上快拖的时候,顶部色值不抖动 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—————— 优化页面的拖拽的时候使用(结束)
scrollerView 滚动的时候改变 scrollerView 的背景色代码的更多相关文章
- Gridview 重建表头/单击单元格弹出对话框/改变单元格背景色
整理工作~ 完整的代码在GitHub上, 路径: 项目背景:追踪某个issue,并且记录每天的状态. 要求:1.点击日期就能更改,并且用颜色标志不同的状态 2.增加按钮可关闭issue 3.布局要求日 ...
- vue中滚动页面,改变样式&&导航栏滚动时,样式透明度修改
vue中滚动页面,改变样式&&导航栏滚动时,样式透明度修改.vue <div class="commonHeader" v-bind:class=" ...
- 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!【转载+整理】
原文地址 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和for-of循环 生成器 Generators 模板字符串 不定参数和默认参数 解构 Destructu ...
- 最新的JavaScript核心语言标准——ES6,彻底改变你编写JS代码的方式!
原文地址 迁移到:http://www.bdata-cap.com/newsinfo/1741515.html 本文内容 ECMAScript 发生了什么变化? 新标准 版本号6 兑现承诺 迭代器和f ...
- vc中改变对话框的背景色
---- 笔者曾在<软件报>2000年第5期中讨论过如何改变控件的颜色,但还有相当一部分的读者来信提问:一个基于对话框的MFC AppWizard应用程序中,如何改变对话框的背景颜色呢?对 ...
- EasyUI 中GridView 满足某条件 改变行的背景色
<table id='grid' class='easyui-datagrid' style='width:1500px;height:450px' url='Ajax-index.php?mo ...
- WPF GridControl单元格值与过滤值相同时,改变单元格背景色
DataTrigger的Value不可绑定,所以我们需要用MultiBinding来实现这个功能. <dxg:TableView.CellStyle> <Style TargetTy ...
- IOS 改变UISearchBar的背景色
之前网上提供的方法试了很多种 都不能很好的去掉背景色 ,修改背景色方法如下: searchbar.barStyle = UIBarStyleBlackTranslucent; searchbar. ...
- 使用CSS3改变选中元素背景色
CSS3代码如下: /* SELECTION ----------------- */ ::-moz-selection { background: #f00533; color: white; te ...
随机推荐
- PR物料KFF弹出LOV - WHERE条件重写
PROCEDURE event (event_name VARCHAR2)IS---- This procedure allows you to execute your code at specif ...
- 第21章、OnItemSelectedListener事件(从零开始学Android)
在Android App应用中,OnItemSelectedListener事件也会经常用到,我们一起来了解一下. 基本知识点:OnItemSelectedListener事件 一.界面 1.新建pr ...
- HTML小知识点积累
1.怎样让heigth:100%起效? 有时候我们设置heigth:100%,想让当前控件铺满整个屏幕,可是非常少情况下这个属性能达到我们想要的效果,这是为什么呢? 而依据W3C的规范.百分比 ...
- Qt在线技术交流之OpenGL、Quick以及所经历项目开发心得分享
时间:3月25日晚上7:30 主题:Qt在线技术交流之OpenGL.Quick以及所经历项目开发心得分享 直播:http://qtdream.com 主页.全民TV,可能会加上其他的直播平台进行转播 ...
- 【转载】关于Hash
这个HASH算法不是大学里数据结构课里那个HASH表的算法.这里的HASH算法是密码学的基础,比较常用的有MD5和SHA,最重要的两条性质,就是不可逆和无冲突.所谓不可逆,就是当你知道x的HASH值, ...
- 运营或生态链没做好,APP质量再高有个鸟用(下)
上篇文章已经阐述了对于一款产品卖不卖作,事实上非常依赖于运营的打造和生态链的建立,这里能够解释为什么很多优秀的游戏产品功底非常好,但開始并不卖作,仅仅有碰到一家肯出力推的渠道游戏才迅速火了起来.这是不 ...
- webRequest模块的解读
Chrome Extension 的 webRequest模块的解读 文档在此:http://developer.chrome.com/trunk/extensions/webRequest.ht ...
- SQL面试练习(MySql)
创建测试数据库: /*如果已经存在此数据库,先删除*/ drop database if exists sqltest ; /*创建并设置编码为UTF-8*/ create database sqlt ...
- Centos6.5 安装 Oracle11gR2(64位)
Centos6.5安装 Oracle11gR2(64位) 安装centos6.5 (我的是虚拟机环境) 1. 下载centos6.5的安装包,不解释. 例如以下图: 2. 下载oracle安装包, ...
- Robot Framework自己主动化測试框架之我见
一些自己主动化測试现状: 盲目的去做自己主动化,终于以失败告终. 觉得是能提高效率的事情.却推广不下去: 事实上上述问题产生的原因是: 自己主动化測试案例稳定性不高,可维护性比較差: 自己主动化測试工 ...