`
LilyEnjoyingLife
  • 浏览: 70977 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

基于WKWebView和UIWebView实现的仿微信WebView功能的页面加载库

    博客分类:
  • iOS
阅读更多

代码参见: https://github.com/DoTalkLily/LYWebViewController 求 star~

       我们知道比起原生开发,H5有良好的跨平台性(很好地节约人力成本),升级灵活迅速,非常适合产品功能迭代频繁的业务模块,方便实现定制化的页面(千人千面),可以用来外投引流等优点,但是H5页面打开依赖原生的webview作为承载,目前多数产品基于UIWebView打开网页,没有有好的进度条提示,并且没有导航功能(目前在各自的项目中封装个UIViewController实现简单的“返回”按钮),页面加载完成会嘭地出现,尤其在图片、样式和脚本比较多的页面,用户体验上有较大提升空间。

 

       介于以上问题,提供一个功能更加完善的webview库使页面展示和浏览器相关操作上能对用户更加友好,同时能允许前端同学更加灵活定制样式和导航等功能。

 

Usage

 

在Podfile中加一行:

 target 'MyApp' do
    pod 'LYWebViewController', '~> 0.2'
 -end

然后pod install

 

feature list:

1.支持 UIWebView 和 WKWebView

2.页面加载进度条

3.顶部导航(类似微信的返回、关闭等)

4.底部 toolbar5.支持转场(手势左右滑动切换网页)

6.支持唤起 appstore 下载7.国际化(支持英文、简体中文、繁体中文)

8.兼容 iPad9.preview(>=iOS9 )

10.用 chrome、safari 打开网页

11.清缓存

12.设置超时时长、缓存策略

13.自定义 UI ( toolbar 是否展示、进度条颜色等)

14.下拉刷新(支持自定义样式)

15. 记住相同网页上一次浏览位置

 

欢迎使用和提 issue

 

0
0
分享到:
评论

相关推荐

    swift-实现类似微信的webView导航效果

    以上就是使用Swift实现类似微信webView导航效果的主要步骤。通过结合`WKWebView`的使用、自定义手势识别和导航控制器的扩展,我们可以创建一个具有进度条、左滑返回和关闭功能的web浏览体验。在实际项目中,可能还...

    仿微信webView返回效果

    【标题】"仿微信webView返回效果"涉及到的知识点主要集中在iOS应用开发中,特别是关于UIWebView或WKWebView的自定义导航控制器以及用户交互设计。在iOS应用开发中,UIWebView和WKWebView是用于加载和展示网页内容的...

    ios-webView oc js 交互 加载进度 仿微信返回显示关闭.zip

    本项目“ios-webView oc js 交互 加载进度 仿微信返回显示关闭”聚焦于如何通过Objective-C(简称OC)实现WebView与JavaScript之间的交互,以及如何添加加载进度条和模仿微信的返回按钮功能,使用户界面更加友好。...

    swift-仿微信带有浮窗能力的微信浏览器

    这个项目"swift-仿微信带有浮窗能力的微信浏览器"显然是一个实现此类功能的开源尝试,名为"WXFloatWeb-master"的压缩包包含了相关的源代码。下面将详细探讨这一项目涉及的主要知识点。 1. **UIWebView或WKWebView**...

    iOS 原生加载微信支付链接跳转支付宝方法封装

    在处理微信支付链接时,我们需要利用WKWebView来渲染页面,确保链接能够正确加载。 2. **微信支付链接处理** 微信支付通常会生成一个H5页面的URL,用户在点击支付按钮后,页面会跳转到微信内置浏览器进行支付流程...

    ios-SwiftWebViewBridge.zip

    SwiftWebViewBridge是基于`UIWebView`实现的,`UIWebView`是苹果早期提供的一个视图组件,用于加载和显示网络内容。然而,由于`UIWebView`在性能和内存管理上存在一些限制,苹果在iOS 8之后推荐使用`WKWebView`,它...

    h5打开微信返回问题

    4. **WKWebView vs UIWebView**:iOS提供两种WebView组件,WKWebView是较新的选择,性能更好,但处理URL Scheme和JSBridge可能稍复杂一些。UIWebView虽然即将被淘汰,但在处理这些问题上相对简单,但性能和安全性较...

    模仿微信web页面加载进度条的读取

    因为项目最低支持iOS7,所以不能使用WKWebView来加载网页,只能使用 UIWebView,查看 UIWebView的API可以发现,并没有代理或是通知告诉我们webView加载了多少,所以这个进度条我决定用虚拟的方式来做,就是假装知道加载了...

    IOSwebview缓存

    `IOSwebview缓存`这个主题主要关注如何在iOS的Webview中实现页面的缓存功能,以提高用户体验,减少网络请求,降低数据消耗。缓存机制在移动应用中尤其关键,因为它能够使用户在离线状态下也能查看之前加载过的网页。...

    完整优化版H5即时通讯客服IM聊天系统(微信+安卓+苹果端APP源码

    使用WKWebView替代UIWebView以提升性能,同时,通过Push Notification服务实现离线消息推送。 6. **安全性与稳定性** 为了保护用户隐私和数据安全,系统应采用HTTPS协议进行通信,确保数据传输的加密。同时,设计...

    UIWebView带返回,关闭,OC代码调用网页js方法,修改div属性

    1. **返回与关闭功能**:UIWebView可以集成在导航控制器(UINavigationController)中,这样就可以利用导航控制器的返回按钮实现返回上一个页面的功能。同时,关闭功能通常可以通过添加一个自定义的关闭按钮或者利用...

    iOS实现H5支付(微信、支付宝)原生封装

    1. **新建webView**:创建一个webView加载支付中间页,但这个webView应设置为肉眼不可见,以防止WKWebView在不显示时挂起H5请求,影响支付宝支付唤起。 2. **拦截支付请求**:作为webView的代理,拦截中间页的支付...

    第四章:原生App优化.pdf

    WKWebView还允许JavaScript的Nitro库加载使用,提高了JS执行速度,并支持与JS的直接互调,无需第三方库。 - **Android平台** - **WebKit for WebView**:适合所有Android版本,但低于Android 4.4版本的设备对...

    swift-使用webview让用户授权登录微博然后自动获取用户信息

    这个项目“swift-使用webview让用户授权登录微博然后自动获取用户信息”显然涉及到iOS和Android两个平台,分别通过`weibo`文件夹下的代码来实现。在iOS端,使用的是Swift编程语言,而在Android端则是用Java或Kotlin...

    OC版WKWebView

    6. **仿微信返回按钮**:为了提供与微信类似的操作体验,OC版WKWebView可以实现一个自定义的返回按钮,点击时实现网页的历史导航,即回退到上一页面。 **使用WKWebView的步骤** 1. **导入WebKit框架**:首先需要在...

    手机移动端电商,IOS,Android

    Apple的UIKit框架提供了一整套用于构建用户界面的工具,其中UIWebView或WKWebView可以加载H5页面。通过Objective-C或Swift编写原生代码,实现支付接口、推送通知、获取用户位置等原生功能。对于性能和体验要求较高的...

    MXJSTest.zip

    这种交互通常通过`WebView`提供的接口实现,比如Android的`addJavascriptInterface`和iOS的`WKUserContentController`。 3. **addJavascriptInterface(Android)**:在Android中,我们可以使用`...

    iOS引导登录功能的实现

    5. **用户协议**:使用`UIWebView`或`WKWebView`加载协议内容,提供勾选框供用户同意。 四、代码实现概览 1. 使用`KeychainItemWrapper`类进行Keychain操作: ```swift let keychain = KeychainItemWrapper...

    WebViewJavascriptBridge 简化实现(简单易懂)

    然而,单纯使用UIWebView或WKWebView时,JavaScript和Objective-C/Swift之间的通信并不直观,通常需要通过注入JavaScript代码、监听URL变化等复杂方式实现。WebViewJavascriptBridge则大大简化了这一过程。 **核心...

Global site tag (gtag.js) - Google Analytics