iOS APP中HTML预览图片 PPHTMLImagePreviewDemo

码农软件 · 软件分类 · 图像(Image) · 2019-05-29 21:12:53

软件介绍

该DEMO主要用于演示iOS APP中点击HTML的图片来预览图片,效果可以查看下面的演示图 image

原理阐述

1. 背景知识

在了解该原理之前,需要知道如下内容

  • html中的点击动作一般都是通过javascript来实现的,如下面代码:

    var img = document.getElementById('test');
    img.onclick = function() {
    alert("test");
    }

    PS: 以上代码实现的: 点击< img>来弹出含test的提示框.

  • javascript与objc交互

在iOS APP开发过程中,是通过UIWebView来加载html页面,因此javascript要与objc交互,桥梁应该就在UIWebview提供的API中,可以发现如下一些接口:

//objc 传参给javascript
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;

//javascript 传参给objc, 参数是存在于request中
 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

2. 实现细节

  • 在UIWebview加载完html后,调用stringByEvaluatingJavaScriptFromString来执行如下javascript代码,可以使用javascript压缩工具压缩下

    function assignImageClickAction() {
    var imgs = document.getElementsByTagName('img');
    var length = imgs.length;
    for (var i = 0; i < length; i++) {
        img = imgs[i];
        img.onclick = function() {
            window.location.href = 'image-preview:' + this.src
        }
    }
    }
    assignImageClickAction();
  • 在webView:shouldStartLoadWithRequest:navigationType处理image-preview

许可

该代码遵循MIT许可.

联系方式

email: lvyexuwenfa100@126.com

本文地址:https://codercto.com/soft/d/6833.html

Kafka权威指南

Kafka权威指南

Neha Narkhede、Gwen Shapira、Todd Palino / 薛命灯 / 人民邮电出版社 / 2017-12-26 / 69.00元

每个应用程序都会产生数据,包括日志消息、度量指标、用户活动记录、响应消息等。如何移动数据,几乎变得与数据本身一样重要。如果你是架构师、开发者或者产品工程师,同时也是Apache Kafka新手,那么这本实践指南将会帮助你成为流式平台上处理实时数据的专家。 本书由出身于LinkedIn的Kafka核心作者和一线技术人员共同执笔,详细介绍了如何部署Kafka集群、开发可靠的基于事件驱动的微服务,......一起来看看 《Kafka权威指南》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具