文档章节

webview监听滚动事件contentOffset 实现渐变透明导航栏 ios

 北方人在上海
发布于 2016/09/14 11:14
字数 207
阅读 207
收藏 0

要做类似淘宝查看 宝贝详情 的页面。

用UIWebView来盛装宝贝详情,上面的导航栏是OC写的,不是网页的一部分。

滚动webView时要实现导航栏透明度改变的渐变效果。如图

webview监听滚动事件contentOffset <wbr>实现渐变透明导航栏 <wbr> <wbr>ios
想用kvo来监听webview滚动到了哪个位置,发现webview是遵循UISCrollViewDelegate代理,且有一个

scrollView属性的。代码如下:(self.navBar是自定义的导航栏View)

[_webView.scrollView addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservingOptionNewcontext:nil];

 

-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<<span style="font-variant-ligatures: no-common-ligatures; color: #703daa">NSString *,id> *)change context:(void *)context

{

    if ([keyPath isEqualToString:@"contentOffset"])

    {

        CGFloat y = _webView.scrollView.contentOffset.y;

        if (y>=0 && y<=64) {

            CGFloat nav_alpha = y/64;

            NSLog(@"透明度%f",nav_alpha);

            self.navBar.alpha = nav_alpha;

        }else if(y>64){

            self.navBar.alpha = 1.0;

        }else{

            self.navBar.alpha = 0.0;

        }

    }

}

© 著作权归作者所有

粉丝 22
博文 187
码字总数 265578
作品 0
浦东
私信 提问
iOS 知识-常用小技巧大杂烩

打印View所有子视图 2. layoutSubviews调用的调用时机 3. NSString过滤特殊字符 4. TransForm属性 5. 去掉分割线多余15像素 6. 计算方法耗时时间间隔 7. Color颜色宏定义 8. Alert提示宏定义...

冰泪_
2016/05/26
73
0
IOS开发系列--无限循环的图片浏览器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jianxin160/article/details/47753201 --UIKit之UIScrollView 概述 UIKit框架中有大量的控件供开发者使用,在...

KenshinCui
2015/08/18
0
0
createStackNavigator

createStackNavigator 提供APP屏幕之间切换的能力,它是以栈的形式还管理屏幕之间的切换,新切换到的屏幕会放在栈的顶部。 屏幕转场风格 默认情况下,createStackNavigator提供了转场过渡效果...

不负好时光
03/15
28
0
『React Navigation 3x系列教程』之createStackNavigator开发指南

createStackNavigator 提供APP屏幕之间切换的能力,它是以栈的形式还管理屏幕之间的切换,新切换到的屏幕会放在栈的顶部。 屏幕转场风格 默认情况下,createStackNavigator提供了转场过渡效果...

JiaPengHui
2018/12/24
0
0
iOS运营级B2B服务平台App、自定义图标库、个人中心页面、识别身份证Demo、瀑布流等源码

iOS精选源码 简单的个人中心页面-自定义导航栏并予以渐变动画(http://www.code4app.com/thread-10860-1-1.html) 一个近乎完整的可识别中国身份证信息的Demo 可自动快速...(http://www.code4a...

Android爱开源
2018/10/25
17
0

没有更多内容

加载失败,请刷新页面

加载更多

JS基础-该如何理解原型、原型链?

JS的原型、原型链一直是比较难理解的内容,不少初学者甚至有一定经验的老鸟都不一定能完全说清楚,更多的"很可能"是一知半解,而这部分内容又是JS的核心内容,想要技术进阶的话肯定不能对这个...

OBKoro1
55分钟前
6
0
高防CDN的出现是为了解决网站的哪些问题?

高防CDN是为了更好的服务网络而出现的,是通过高防DNS来实现的。高防CDN是通过智能化的系统判断来路,再反馈给用户,可以减轻用户使用过程的复杂程度。通过智能DNS解析,能让网站访问者连接到...

云漫网络Ruan
今天
14
0
聊聊Tomcat中的连接器(Connector)

上期回顾 上一篇文章《Tomcat在SpringBoot中是如何启动的》从main方法启动说起,窥探了SpringBoot是如何启动Tomcat的,在分析Tomcat中我们重点提到了,Tomcat主要包括2个组件,连接器(Conne...

木木匠
今天
11
0
OSChina 周一乱弹 —— 熟悉的味道,难道这就是恋爱的感觉

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @xiaoshiyue :好久没分享歌了分享张碧晨的单曲《今后我与自己流浪》 《今后我与自己流浪》- 张碧晨 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
2.6K
23
SpringBoot中 集成 redisTemplate 对 Redis 的操作(二)

SpringBoot中 集成 redisTemplate 对 Redis 的操作(二) List 类型的操作 1、 向列表左侧添加数据 Long leftPush = redisTemplate.opsForList().leftPush("name", name); 2、 向列表右......

TcWong
今天
45
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部