首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用UIDocumentInteractionController显示presentPreviewAnimated:通过UIWebView

使用UIDocumentInteractionController显示presentPreviewAnimated:通过UIWebView,可以实现在iOS应用中预览和分享文档、图片、视频等内容。以下是一些关键步骤:

  1. 导入框架:首先,需要在代码中导入UIKit框架,以便使用UIDocumentInteractionController和UIWebView。
代码语言:swift
复制
import UIKit
  1. 创建UIDocumentInteractionController实例:在需要使用UIDocumentInteractionController的地方,创建一个实例。
代码语言:swift
复制
let documentInteractionController = UIDocumentInteractionController()
  1. 设置文档URL:使用UIDocumentInteractionController的URL属性,设置要预览的文档的URL。
代码语言:swift
复制
documentInteractionController.url = URL(string: "https://example.com/document.pdf")
  1. 设置预览控制器:使用UIDocumentInteractionController的presentPreview方法,设置预览控制器。
代码语言:swift
复制
documentInteractionController.presentPreview(animated: true)
  1. 设置UIWebView:在需要使用UIWebView的地方,创建一个实例,并设置其代理为当前控制器。
代码语言:swift
复制
let webView = UIWebView()
webView.delegate = self
  1. 加载文档:使用UIWebView的loadRequest方法,加载文档。
代码语言:swift
复制
webView.loadRequest(URLRequest(url: URL(string: "https://example.com/document.pdf")!))
  1. 实现UIWebViewDelegate协议:实现UIWebViewDelegate协议,以便在文档加载完成后执行相关操作。
代码语言:swift
复制
extension ViewController: UIWebViewDelegate {
    func webViewDidFinishLoad(_ webView: UIWebView) {
        // 在这里执行相关操作
    }
}
  1. 使用腾讯云的文件存储服务:腾讯云提供了文件存储服务,可以用于存储和管理文档、图片、视频等内容。可以使用腾讯云的COS(Cloud Object Storage)服务,通过API接口上传和下载文件,并在应用中使用UIDocumentInteractionController和UIWebView进行预览和分享。

腾讯云COS服务介绍:https://cloud.tencent.com/product/cos

总结:使用UIDocumentInteractionController和UIWebView可以在iOS应用中预览和分享文档、图片、视频等内容。腾讯云提供了文件存储服务,可以用于存储和管理文档、图片、视频等内容,可以通过API接口上传和下载文件,并在应用中使用UIDocumentInteractionController和UIWebView进行预览和分享。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

UIWebView 浏览器控件一、初始化与三种加载方式二、常用属性和方法三、代理方法 UIWebViewDelegate四、其它案例:

一、初始化与三种加载方式 UIWebView继承于UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种: 1.第一种: - (void)loadRequest...:(NSURLRequest *)request; 这是加载网页最常用的一种方式,通过一个网页URL来进行加载,这个URL可以是远程的也可以是本地的,例如加载百度的主页 UIWebView * view...可以缩放HTML页面来适配其视口大小,从而达到整屏显示内容的效果,并且用户可以用捏合动作来放大或缩小页面来查看内容。...默认情况下UIWebView加载HTML页面后,会以页面的原始大小进行显示,亦即如果页面的大小超出UIWebView视口大小,UIWebView会出现滚动效果,而且用户只能通过滚动页面来查看不同区域的内容...,不能使用手指的捏合手势来放大或缩小页面。

1.5K60

iOS下JS与OC互相调用(二)--WKWebView 拦截URL

在上篇文章中讲述了使用UIWebView拦截URL的方式来处理JS与OC交互。 由于UIWebView比较耗内存,性能上不太好,而苹果在iOS 8中推出了WKWebView。...我们要拦截URL,就要通过navigationDelegate的一个代理方法来实现。如果在HTML中要使用alert等弹窗,就必须得实现UIDelegate的相应代理方法。...关于如何区分执行不同的OC 方法,也与UIWebView的处理方式一样,通过URL 的host 来区分执行不同的方法: #pragma mark - private method - (void)handleCustomAction...4.WKWebView中使用弹窗 在上面提到,如果在WKWebView中使用alert、confirm 等弹窗,就得实现WKWebView的WKUIDelegate中相应的代理方法。...例如,我在JS中要显示alert 弹窗,就必须实现如下代理方法,否则alert 并不会弹出。

3.4K50

iOS小技能:UIWebView 被拒的解决方案(用更安全的WKWebView替代UIWebView

引言 背景:202012之后苹果将不接受使用UIWebView UIWebView 被拒的解决方案:使用WKWebView替代UIWebView 1、查 SDK是否用 UIWebView 的 API...2、移除/升级含UIWebView的第三方SDK(例:AFNetworking) 3、使用WKWebView替代UIWebView 4、WKWebView与JS交互案例(点击页面图片,调用iOS方法进行图片放大显示...I 使用WKWebView替换UIWebView 1.1 移除/升级包含UIWebView的第三方SDK(grep -r "UIWebView" .) ➜ retail git:(develop)...NJKWebViewProgress iOS8.0以下使用了NJKWebViewProgress作为进度条, 因此对于上架审核没有影响。...1.2 移除/替换自己项目使用UIWebView API的代码 自己是否用了该 API 只需要在 Xcode 中全局搜索即可 II 升级包含UIWebView的第三方SDK的具体例子 pod

3.2K20

WKWebView

其他的区别如下: 1,UIWebView是UIKit框架的一部分,可以在应用程序内使用,无需导入任何内容;而WKWebView使用的是WebKit.framework,使用的时候需要导入到应用程序中。...你还可以使用 setMagnification:centeredAtPoint: 以编程方式设置Web内容第一次在Web视图中显示的缩放比例。 此后,用户可以使用手势来改变比例。...布尔值,表示页面上的所有资源是否通过安全加密的连接加载。 - loadHTMLString:baseURL:。设置网页内容和baseUrl loading。布尔值,显示当前页面是否正在加载。...显示加载进度条 我们可以通过监听WKWebView的estimatedProgress属性值来实现一个加载进度条,而UIWebView只能是通过timer事件做一个假的加载进度条。...2,不管是WKWebView还是UIWebView,其实其本质都是一个能够通过网址直接获取到数据流,并将数据流解析渲染出来的组件。

6K20

phonegap + Framework7 之 ios 推送跳转测试

先说说项目情况:使用phonegap创建的ios项目,然后在使用html + css开发网页中又使用了一个框架Framework7(Framework7是一个构建仿原生ios和android应用的框架...其他html页面只有部分html标签,不引用css和js, 其他html页面的展示都是通过主页面index.html的链接进行跳转到那里!   ...--------------- -------- --------- ------ ------- --------- ---- 另外一种情况是加载本地html页面,然后问题来了: 1、刚开始是想通过...NSDictionary *aps = [userInfo valueForKey:@"aps"]; NSString *content = [aps valueForKey:@"alert"]; //推送显示的内容...NSDictionary *aps = [userInfo valueForKey:@"aps"]; NSString *content = [aps valueForKey:@"alert"]; //推送显示的内容

1K30

Hybrid App 应用 开发中 9 个必备知识点复习(WebView 调试 等)

, UIWebView 中限制了; WKWebView 目前缺少关于页码相关的 API; WKWebView 提供加载网页进度的属性; WKWebView 使用 Safari 相同的 JavaScript...在 webkit2 的设计里使用 MessageQueue 进行进程之间的通信,Network Process 会将请求 encode 成一个 Message,然后通过 IPC 发送给App Process...如果某些特殊情况下非得调整 contentInset 不可的话,可以通过下面方式让H5页面恢复正常显示。 6....这两者都是强大的抓包工具,原理是以web代理服务器的形式进行工作的,使用的代理地址是:127.0.0.1,端口默认为8888,我们也可以通过设置进行修改。..."); node.innerHTML += "追加的元素显示吗"; console.dirxml(node); 2.5 统计代码被执行的次数: 使用 console.count(

3.1K00

iOS开发----JavaScriptCore、UIWebView及WKWebView交互的那些事

假设一个简单的场景 Web通过一个 输入一个字符串,通过点击按钮设置成导航标题 原生设置完导航标题后,告知Web"以将"设置成导航Title,并在网页最底下的label显示出来...分别使用 UIWebView 以及 WKWebView 实现效果如下: JavaScriptCore 类库里面有12个类(还有两个是负责导入相关类的头文件以及一个关于WebKit的宏定义);在基本的交互过程中...: JavaScriptType返回的JSValue数据可通过JSValue.toXXX()转成客户端相应的数据结构;反之,客户端对象也可以通过JSValue()的构造方法将相应的数据结构封装成JSValue...JavaScript中的逻辑如下: 确认当前使用的是 UIWebView还是 WKWebView,并通过变量 ritl_type确定 点击按钮,根据类型执行不同的操作 客户端通过执行 iosTellSomething...这样子,基于JavaScriptCore的UIWebView以及WKWebView交互就算圆满完成啦!

1.5K20

iOS WebView 的 Hybrid 框架设计

作为一种混合开发模式,Hybrid APP 底层依赖 Native 端的 Web 容器(UIWebview 和 WKWebview),上层使用前端 Html5、CSS、Javascript 做业务开发,...Cookie 和不能通过 NSURLProtocol 自定义请求等坑~导致 WKWebView 并没有被开发者大规模推荐使用。...本套框架的预加载和缓存模块儿需要借助 NSURLProtocol 实现,所以这里还是优先使用 UIWebView(想吐个槽,其实如果预加载和缓存这套系统做好以后,UIWebView 的效果并没不比 WKWebView...② Title 通常在 WebView 加载完成后去获取 document.title 来显示,这里可以做到可配置。...本文初衷是想为那些准备使用Hybrid框架的人提供设计上的思路,并通过实际的事例去展示结果,希望对 Hybrid 感兴趣的朋友一起来把 Hybrid 一整套解决方案落地并且能够提供开源。

1.6K10

iOS监听H5页面goBack返回事件 & 网页监听APP返回键 (NavigationBackItemInjection)

截取当前显示在屏幕中的WKWebView UINavigationBarDelegate NavigationType Disable all the '_blank' target in page's...target 在WKWebView的WKNavigationDelegate代理方法中处理应用跳转 简单的处理WKWebView加载新页面 WKWebView显示JS弹框 WKWebView调用js方法...监听 estimatedProgress 引言 需求:原生app使用WebView 控制器加载H5页面进行信用卡申请 问题:用户点击残忍放弃之后,没有关闭当前控制器 重现场景:用户点击返回按钮,暂时提示框.../details/114832679 I 、 iOS监听H5页面goBack返回事件 方式一:通过与JS的桥接,让h5主动通知你的 如果是采用通过与JS的桥接,让h5主动通知你的方案,请看这两篇文章 1...监听H5页面goBack返回事件 UIWebView,可通过UIWebViewNavigationTypeBackForward来监听返回事件 - (BOOL)webView:(UIWebView

5.8K21

苹果已经不再接收含UIWebView API的新App送审

fix the following issues, 通过流程图,来看看大致情况: UIWebview送审情况 早在去年底,发过一篇关于苹果UIWebView API审核变化的文章: Apple...将强制开发者升级WKWebView 带有UIWebView Api更新App,会收到类型下面的警告: 更新使用 WebView的应用程序 2019年12月23日 如果您的应用程序仍然使用被废弃的 UIWebView...WKWebView 通过将 Web 处理限制在应用程序的 Web 视图中,确保相关的 Web 内容不会影响(侵入)到应用程序的其他部分。...从2020年4月起,App Store 将不再接受使用 UIWebView 的新应用,而从2020年12月起,App Store 将不再接受使用 UIWebView 的应用更新。...您好,因苹果公司关于APP使用UIWebview的上架规定(2020年5月起上架的新APP中不允许使用,5月之前上架过的APP在12月30号之后不允许使用),实人认证产品SDK目前依赖了UIWebview

1.6K30

Hybrid App 应用开发中 9 个必备知识点复习

但是目前 IOS10 以下的系统以及很少了, 小结: WKWebView 相较于 UIWebView 在整体上有较大的提升,满足 iOS 上面使用同一套控件的功能,同时对整个内存的开销以及滚动刷新率和...在 webkit2 的设计里使用 MessageQueue 进行进程之间的通信,Network Process 会将请求 encode 成一个 Message,然后通过 IPC 发送给 AppProcess...如果某些特殊情况下非得调整 contentInset 不可的话,可以通过下面方式让H5页面恢复正常显示。 6....这两者都是强大的抓包工具,原理是以web代理服务器的形式进行工作的,使用的代理地址是: 127.0.0.1,端口默认为 8888,我们也可以通过设置进行修改。...+= "追加的元素显示吗";console.dirxml(node); 2.5 统计代码被执行的次数: 使用 console.count(): function myFunction()

2.3K30
领券